当前位置: 首页 > news >正文

做网站需要准备哪些材料陕西建设银行官网站

做网站需要准备哪些材料,陕西建设银行官网站,首都产业建设集团网站,wordpress当前分类下所有子分类一、说明 据我所知#xff0c;内置的 Tkinter Canvas 类比例不会自动缩放图像。如果您无法使用自定义小部件#xff0c;则可以缩放原始图像并在调用缩放函数时将其替换在画布上。 二、实现图像放大镜技术细节 我如何将放大和缩小添加到以下脚本中#xff0c;我想将其绑定到… 一、说明 据我所知内置的 Tkinter Canvas 类比例不会自动缩放图像。如果您无法使用自定义小部件则可以缩放原始图像并在调用缩放函数时将其替换在画布上。 二、实现图像放大镜技术细节 我如何将放大和缩小添加到以下脚本中我想将其绑定到鼠标滚轮。如果您在 Linux 上测试此脚本请不要忘记将 MouseWheel 事件更改为 Button-4 和 Button-5。 下面的代码片段可以合并到您的原始类中。它执行以下操作缓存 Image.open() 的结果。添加 redraw() 函数来计算缩放后的图像并将其添加到画布中并且还会删除先前绘制的图像如果有。使用鼠标坐标作为图像放置的一部分。我只是将 x 和 y 传递给 create_image 函数以显示图像位置如何随着鼠标移动而移动。您可以将其替换为您自己的中心/偏移计算。这使用 Linux 鼠标滚轮按钮 4 和 5您需要将其推广到 Windows 等。 三、代码实现 from tkinter import * from PIL import Image,ImageTkclass LoadImage:def __init__(self,root):frame Frame(root)self.canvas Canvas(frame,width900,height900)self.canvas.pack()frame.pack()File d001.jpgself.orig_img Image.open(File)self.img ImageTk.PhotoImage(self.orig_img)self.canvas.create_image(0,0,imageself.img, anchornw)self.zoomcycle 0self.zimg_id Noneroot.bind(MouseWheel,self.zoomer)self.canvas.bind(Motion,self.crop)def zoomer(self,event):if (event.delta 0):if self.zoomcycle ! 4: self.zoomcycle 1elif (event.delta 0):if self.zoomcycle ! 0: self.zoomcycle - 1self.crop(event)def crop(self,event):if self.zimg_id: self.canvas.delete(self.zimg_id)if (self.zoomcycle) ! 0:x,y event.x, event.yif self.zoomcycle 1:tmp self.orig_img.crop((x-45,y-30,x45,y30))elif self.zoomcycle 2:tmp self.orig_img.crop((x-30,y-20,x30,y20))elif self.zoomcycle 3:tmp self.orig_img.crop((x-15,y-10,x15,y10))elif self.zoomcycle 4:tmp self.orig_img.crop((x-6,y-4,x6,y4))size 300,200self.zimg ImageTk.PhotoImage(tmp.resize(size))self.zimg_id self.canvas.create_image(event.x,event.y,imageself.zimg)if __name__ __main__:root Tk()root.title(Crop Test)App LoadImage(root)root.mainloop() 四、关于内存问题  更新我对不同的比例进行了一些测试发现调整大小/创建图像使用了相当多的内存。我在配备 32GB RAM 的 Mac Pro 上使用 540x375 JPEG 进行了测试。以下是不同比例因子使用的内存 1x (500, 375) 14 M 2x (1000, 750) 19 M 4x (2000, 1500) 42 M 8x (4000, 3000) 181 M 16x (8000, 6000) 640 M 32x (16000, 12000) 1606 米 64x (32000, 24000) ...         达到约 7400 M 并耗尽内存_memcpy 中的 EXC_BAD_ACCESS 鉴于上述情况更有效的解决方案可能是确定将显示图像的视口的大小计算鼠标坐标中心周围的裁剪矩形使用矩形裁剪图像然后仅缩放裁剪部分。这应该使用常量内存来存储临时图像。否则您可能需要使用第 3 方 Tkinter 控件来为您执行此裁剪/窗口缩放。 更新 2 工作但过于简化的裁剪逻辑只是为了让您开始 def redraw(self, x0, y0):if self.img_id: self.canvas.delete(self.img_id)iw, ih self.orig_img.size# calculate crop rectcw, ch iw / self.scale, ih / self.scaleif cw iw or ch ih:cw iwch ih# crop it_x int(iw/2 - cw/2)_y int(ih/2 - ch/2)tmp self.orig_img.crop((_x, _y, _x int(cw), _y int(ch)))size int(cw * self.scale), int(ch * self.scale)# drawself.img ImageTk.PhotoImage(tmp.resize(size))self.img_id self.canvas.create_image(x, y, imageself.img)gc.collect() 只是为了其他发现这个问题的人的利益我附上了我的最终测试代码该代码使用画中画/放大镜缩放。它基本上只是对已经发布的样本偏差的更改。看到它也很酷:)。 正如我之前所说如果您在 Linux 上使用此脚本请不要忘记将 MouseWheel 事件更改为 Button-4 和 Button-5。显然您需要在显示“INSERT JPG FILE PATH”的位置插入 .JPG 路径。
http://wiki.neutronadmin.com/news/274448/

相关文章:

  • 17网站一起做网店河北趣闲赚
  • 互联网信息服务 网站备案wordpress开发cms
  • 华为公司网站建设案例分析深圳企业网站建设设计
  • 手机做logo用什么网站绵阳网站建设
  • 口碑好的秦皇岛网站建设哪家好网站首页横版图怎么做
  • 网站建设套模板视频信誉好的镇江网站优化
  • 组建网站寮步做网站公司
  • 做网站一定要用服务器吗门户网站系统建设方案
  • 门户网站的特点做电影网站如何不侵权
  • 网站怎么做免费seo搜索sns营销
  • 网站建设技能描述烟台网站建设 共赢
  • 哈尔滨网站建设赚钱么asp装修公司网站源码
  • 天津河东做网站公司个人公众号怎么做文章推广
  • 免费永久网站空间岳阳建设公司网站
  • 网站限定域名自助建站和wordpress
  • 开发网站的基本过程漫画WordPress
  • 个人网站建设思路网络建站招聘
  • 关于淘宝店网站建设的可行性报告大连手机自适应网站建设
  • 石碣网站仿做安徽六安地图
  • 网站开发网站加载慢企业网站建设实验报告
  • 做旅游网站多少钱做pc端网站精英
  • 小说网站风格网站主持人制作方法
  • 刷网站百度关键词软件广州英文外贸seo网站优化
  • 凡科网做网站花多少钱php做网站麻烦吗
  • 2016企业网站建设合同开贴纸网站要怎么做
  • 营销型网站开发公司wordpress更新报错
  • 做网站费用会计科目网站的风格有哪些
  • 公司做网站的费用怎么入账广西网站建设开发
  • 深圳建网站哪个公司微商代运营公司
  • 网站建设项目延期验收申请报告制作一个网站的一般步骤