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

长春网站制作套餐cps推广平台有哪些

长春网站制作套餐,cps推广平台有哪些,湛江论坛建站模板,服务器建设网站软件下载这个画板仅仅是为了服务于个人设计的截图功能贴图功能中的画板,方便我直接进行继承拓展。 截图自制工具详见我的主页。个人认为设计可谓相当简洁优雅。 下面的快捷画布的使用方法: ①按住Ctrl键,调出画笔;松开即结束绘图&#…

 这个画板仅仅是为了服务于个人设计的截图功能贴图功能中的画板,方便我直接进行继承拓展。

截图自制工具详见我的主页。个人认为设计可谓相当简洁优雅。

下面的快捷画布的使用方法:

①按住Ctrl键,调出画笔;松开即结束绘图;

②双击Ctrl键,调出调色板;

 ③按照Ctrl键并滚动鼠标中键,调整画笔粗细;

import time
import tkinter as tk
from tkinter import colorchooserclass CustomCanvas(tk.Canvas):def __init__(self, parent, **kwargs):super().__init__(parent, **kwargs)self._bind_events()self.focus_set()self.__preview_items: list[str] = list()self.__stroke_history: list[str] = list()self.__current_stroke: list[str] = list()self.pen_color: str = 'black'self.drawing_mode: bool = Falseself.last_ctrl_press: float = 0.0self.pen_size: int = 3self.last_x: int = Noneself.last_y: int = Nonedef _bind_events(self):# 控制键监听self.bind('<Control_L>', self.__start_drawing)self.bind('<Control-KeyRelease>', self.__stop_drawing)# 鼠标监听self.bind('<B1-Motion>', self.__draw_continuous)self.bind('<Motion>', self.__update_preview)self.bind('<Button-1>', self.__draw_single_point)self.bind("<ButtonRelease-1>", self.__finalize_stroke)# 功能快捷键self.bind('<Control-MouseWheel>', self.__adjust_pen_size)self.bind("<Control-z>", self.undo_last_stroke)def __start_drawing(self, event):if self._is_double_ctrl_click():self.__change_pen_color(event)self.drawing_mode = Trueself.config(cursor='pencil')def __stop_drawing(self, event):self.drawing_mode = Falseself.config(cursor='')def __finalize_stroke(self, event):self.last_x = self.last_y = Noneself.__stroke_history.append(self.__current_stroke)self.__current_stroke = []def __change_pen_color(self, event):color = colorchooser.askcolor()[1]if color:self.pen_color = colordef __adjust_pen_size(self, event):if event.delta > 0:self.pen_size = min(124, self.pen_size + 1)else:self.pen_size = max(1, self.pen_size - 1)self.__show_brush_preview(event)def __show_brush_preview(self, event):self.__update_preview(event, force=True)preview = self.__draw_single_point(event, record=False)self.__preview_items.append(preview)def __update_preview(self, event, force: bool = False):if force:self.__clear_preview()current_x, current_y = event.x, event.yif self.last_x is not None and self.last_y is not None:dx = abs(current_x - self.last_x)dy = abs(current_y - self.last_y)if dx < 10 and dy < 10:returnself.last_x, self.last_y = current_x, current_yif len(self.__preview_items) != 0:self.__clear_preview()def __clear_preview(self):for item in self.__preview_items:self.delete(item)self.__preview_items.clear()def _is_double_ctrl_click(self):current_time = time.time()is_double_click = (current_time - self.last_ctrl_press) < 0.3self.last_ctrl_press = current_timereturn is_double_clickdef __draw_continuous(self, event, record: bool = True) -> str:line = ""if not self.drawing_mode:return lineif self.last_x and self.last_y:line = self.create_line(self.last_x, self.last_y, event.x, event.y,fill=self.pen_color, width=self.pen_size,capstyle=tk.ROUND, joinstyle=tk.ROUND)if record:self.__current_stroke.append(line)self.last_x = event.xself.last_y = event.yreturn linedef __draw_single_point(self, event, record: bool = True) -> str:point = ""if not self.drawing_mode:return pointpoint = self.create_oval(event.x - self.pen_size // 2, event.y - self.pen_size // 2,event.x + self.pen_size // 2, event.y + self.pen_size // 2,fill=self.pen_color, outline=self.pen_color, )self.last_x = event.xself.last_y = event.yif record:self.__current_stroke.append(point)return pointdef undo_last_stroke(self, event):if len(self.__stroke_history) == 0:returnlast_draw = self.__stroke_history.pop()for item in last_draw:self.delete(item)if __name__ == '__main__':root = tk.Tk()canvas = CustomCanvas(root, bg='white', width=800, height=600)canvas.pack()root.mainloop()

http://www.dtcms.com/wzjs/200898.html

相关文章:

  • 网站ar怎么做百度收录
  • 酒店网站建设的构思常宁seo外包
  • 九江网站建设推广kol合作推广
  • 有手机网站怎样做微信小程序关键词异地排名查询
  • 共和网站建设公司长沙靠谱关键词优化公司电话
  • 怎么用云服务器做网站seo刷关键词排名免费
  • 深圳做网站网络公司深圳seo云哥
  • 做系统后之前网站怎么找回谷歌浏览器网页版入口手机版
  • 云网站建站百度指数购买
  • 电商行业接单平台重庆seo全网营销
  • 用ps切片做网站能不能完成百度关键词挖掘工具爱站网
  • 长沙网站列表营销推广策划
  • 盘锦949公社官方网站公司网站制作模板
  • 网校网站毕业设计的方案外贸网站建设案例
  • 微信手机网站支付怎么做在线超级外链工具
  • 做网站应该学什么语言免费网络营销软件
  • wordpress安装数据库端口google关键词seo
  • 常用的电子商务网站开发技术沈阳网站制作优化推广
  • 河北邢台旅游景点推荐seo网络优化日常工作内容
  • 搜索引擎网站优化和推广方案免费网站建设模板
  • 杭州知名网站建设三只松鼠搜索引擎营销案例
  • 网站被黑了怎么办搜索关键词排名一般按照什么收费
  • pc 网站开发设计教程推广优化网站排名
  • wordpress+苹果seo单页快速排名
  • 泰安新闻网今日头条哈尔滨网络seo公司
  • java开发网站教程网站报价
  • 建网站域名注册沧州seo公司
  • 建设好网站为什么读取不到文件优化关键词的方法有哪些
  • 北京做网站公司哪家好世界羽联最新排名
  • 武汉做网站推广哪家好整合营销名词解释