将该矩形设置为MyPaintWidget的大小,该大小以默认大小在父窗口小部件上绘制.如果MyPaintWidget是根窗口小部件,则设置self.size将允许它占据整个窗口空间. (请注意,尽管当前结构只会在on_touch_down事件上调整画布的大小.因此,如果您调整窗口的大小,则需要单击以调整图像的大小.)

#Change MyPaintApp to the following...

class MyPaintApp(App):

def build(self):

return MyPaintWidget()

您还可以创建一个单独的小部件来保留背景.在下面,我添加了一个MyBackground小部件,该小部件用于背景,并且当屏幕尺寸更改时,该小部件势必会调整大小.也有其他几种方法可以做到这一点.

from random import random

from kivy.app import App

from kivy.uix.button import Button

from kivy.uix.widget import Widget

from kivy.graphics import Color, Line, Rectangle

from kivy.uix.filechooser import FileChooserListView, FileChooserIconView

from kivy.uix.floatlayout import FloatLayout

from kivy.uix.image import Image

class MyBackground(Widget):

def __init__(self, **kwargs):

super(MyBackground, self).__init__(**kwargs)

with self.canvas:

self.bg = Rectangle(source='water.png', pos=self.pos, size=self.size)

self.bind(pos=self.update_bg)

self.bind(size=self.update_bg)

def update_bg(self, *args):

self.bg.pos = self.pos

self.bg.size = self.size

class MyPaintWidget(Widget):

def on_touch_down(self, touch):

color = (random(), random(), random())

with self.canvas:

Color(*color)

d = 30.

touch.ud['line'] = Line(points=(touch.x, touch.y))

def on_touch_move(self, touch):

touch.ud['line'].points += [touch.x, touch.y]

class MyPaintApp(App):

def build(self):

parent = MyBackground()

painter = MyPaintWidget()

parent.add_widget(painter)

return parent

if __name__ == '__main__':

MyPaintApp().run()

将图像平移到画布中心python_python-如何用猕猴桃中的图像填充画布?相关推荐

  1. 将图像平移到画布中心python_python前端之Photoshop

    目的: 学习使用Photoshop的基本使用,以及Photoshop中关于切图这一块的知识,目的是能熟练使用Photoshop查看UI设计师的设计效果图,同时利用Photoshop切图来制作专业htm ...

  2. 图像平移配准matlab,(MATLAB应用图像处理)第6章MATLAB图像配准.ppt

    第6章 MATLAB图像配准 6.1 图像配准概述 6.1.1 图像配准定义 图像配准是对从不同传感器.不同时间.不同视点所获得的两幅或多幅图像进行最佳匹配,以达到空间匹配和叠加目的的处理过程.本质上 ...

  3. canvas画布清空python_python在Tkinter FigureCanvasTkAgg中更新matplotlib动画,并从画布中清除循环动画...

    我试图用tkinter创建一个GUI,它向我显示我捕捉到的事件的动画,当我单击一个按钮时,下一个事件应该会显示出来.到目前为止,我的代码确实做到了这一点,但我遇到的问题是,当我单击按钮显示下一个事件时 ...

  4. java处理图像减小大小不改变像素_在Java中调整图像大小以降低内存消耗

    ImageMagick的"转换"命令行工具使您可以在执行操作时指定内存使用限制. 我想找到一个提供相同选项的Java图像大小调整库. 我的应用程序有时会获得非常大的JPEG,因此需 ...

  5. Word处理控件Aspose.Words功能演示:从 C# 中的 Word 文档中提取图像

    图像在说明 Word 文档中的关键信息方面发挥着重要作用.此外,它们使文档更具吸引力并改善其呈现方式.作为一名程序员,您可能会得到一份工作来提取嵌入在 Word DOCX 或 DOC 文档中的图像.为 ...

  6. OpenCV 图像平移

    图像平移将图像安装指定方向和距离,移动到相应的位置. cv.warpAffine(img, M, dsize) img:输入图像 M: 2*3移动矩阵 注意:将M设置为np.float32类型的Num ...

  7. python函数图像平移_[Python图像处理]六.图像缩放,图像旋转,图像翻转与图像平移...

    图像缩放 图像缩放主要是调用resize()函数实现,result = cv2.resize(src, dsize[, result[.fx, fy[,interpolation]]])  其中src ...

  8. opencv python 图像缩放/图像平移/图像旋转/仿射变换/透视变换

    Geometric Transformations of Images 1图像转换 OpenCV提供了两个转换函数cv2.warpAffine和cv2.warpPerspective,可以使用它们进行 ...

  9. python如何移动图片_python之详细图像仿射变换讲解(图像平移、旋转、缩放、翻转),一文就够了,赶紧码住...

    仿射变换简介 什么是放射变换 图像上的仿射变换, 其实就是图片中的一个像素点,通过某种变换,移动到另外一个地方. 从数学上来讲, 就是一个向量空间进行一次线形变换并加上平移向量, 从而变换到另外一个向 ...

最新文章

  1. Java原子操作类,你知道多少?
  2. 收藏起来,史上最全的 MySQL 高性能优化实战总结!
  3. Mysql数据库的打开和关闭
  4. C语言如何产生随机数
  5. AcWing算法提高课 Level-3 第二章 搜索
  6. 蜂窝网络是如何为物联网服务的?
  7. BABOK - 开篇:业务分析知识体系介绍
  8. Linux: 让切换目录更方便: pushd,popd,dirs,cd -
  9. 分享97个上传下载PHP源码,总有一款适合你
  10. Win10无法打开相机
  11. [转载]论原著中白飞飞和朱七七两大奇女子
  12. 英雄连1V1战胜专家电脑!
  13. ubuntu18.04桌面美化及部分应用的安装
  14. 风格迁移应用_浅谈风格迁移(一)固定风格迁移
  15. 量子计算机qled,量子点发光原理详解
  16. 前端背景图放置_html 多张背景图片并存
  17. Python实现点阵字体读取与转换
  18. Java工程师修炼之道! | 送10本书籍
  19. 0324的学习笔记----里面最重要的就是一个tom猫的动画,和涉及到的内存问题(创建imageview的两种方式,imagenamed就会形成缓存,占用很多内
  20. PFC基于优先级的流量控制原理

热门文章

  1. CRT工具连接Linux操作手册
  2. mybatis传统方式开发DAO
  3. 如何做组间差异检验_买套餐送车险,做维修提供代步车,考拉爱车如何实现差异化竞争?...
  4. android 加载系统私有库,Android 搭建私有maven仓库及上传项目
  5. qt opengl 2d绘图效率_Qt趣味开发之打造一个3D名字渲染小工具
  6. 有关二级菜单缓慢效果出现(transition)
  7. mfc之DDX_Control作用
  8. debian mysql目录_debian Squeeze配置apache php mysql环境,debian中apache目录结
  9. react native 处理iOS和安卓系统文字
  10. 全志 A64 开发板移植SQLite3