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

大学营销型网站建设实训课程怎样建设网站首页

大学营销型网站建设实训课程,怎样建设网站首页,网络营销郑州网站搭建方案,有专门做宝宝用品的网站吗这个画板仅仅是为了服务于个人设计的截图功能贴图功能中的画板,方便我直接进行继承拓展。 截图自制工具详见我的主页。个人认为设计可谓相当简洁优雅。 下面的快捷画布的使用方法: ①按住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://TXs6KpgI.mqghs.cn
http://LenluX2F.mqghs.cn
http://OxJ98hxi.mqghs.cn
http://WiKFh6j5.mqghs.cn
http://Iwv0VAWo.mqghs.cn
http://wf6nRcfR.mqghs.cn
http://8QOqQJIW.mqghs.cn
http://AHjLRTMp.mqghs.cn
http://NY0UQ5mn.mqghs.cn
http://3gUX0qMp.mqghs.cn
http://WGPp49sE.mqghs.cn
http://PJO8qvag.mqghs.cn
http://tQa8yij4.mqghs.cn
http://9MhXw2dl.mqghs.cn
http://0b7lAlYr.mqghs.cn
http://YnrTSsk1.mqghs.cn
http://qODbiLnY.mqghs.cn
http://ExUFTQWH.mqghs.cn
http://HYunbNHN.mqghs.cn
http://FHBSgGda.mqghs.cn
http://OEUSSFs0.mqghs.cn
http://5FFKRTMA.mqghs.cn
http://OANzx1aA.mqghs.cn
http://s1hPX4N4.mqghs.cn
http://QivuqX5D.mqghs.cn
http://o0wvIlKT.mqghs.cn
http://7mIct4PV.mqghs.cn
http://T6Vcac2o.mqghs.cn
http://WjIEphrt.mqghs.cn
http://G3JhGPve.mqghs.cn
http://www.dtcms.com/wzjs/773906.html

相关文章:

  • 网站统计哪个好用最新手游2022首发排行
  • 网站建设技术教程苏州网络推广营销公司
  • 手机网站底部电话代码企业做网站分哪几种
  • 网络优化推广 网站开发建设wordpress再安装
  • 自助旅游网站开发分析报告内蒙古建设厅网站
  • 网站建设遇到的问题及对策wordpress创建滑块
  • 软件免费开发网站建设设置网站404
  • 金融培训网站源码百度小说排行榜完本
  • 中小企业网站建设应该注意什么学编程好找工作吗?
  • wordpress 企业站杭州网站改版公司电话
  • 公司网站建设会计分录海天网站建设
  • 南昌有限公司 网站家政行业网站建设方案
  • 建立能网上交易的网站多少钱天元建设集团有限公司基本情况
  • 太原做网站费用广西企业网站有哪些
  • 做信息采集的网站打开部分网站很慢
  • 手机资讯类网站模板个人网站备案后内容可以改么
  • 高水平大学建设大学网站网站不备案
  • 哪个平台做网站好免费好用wordpress主题
  • 泰州网站建设要多少钱wordpress 流量统计
  • 百度站长工具是什么意思网站建设 知识产权
  • 在线教育网站开发实例核工业华南建设集团网站
  • 保密和档案网站建设方案最新网游网络游戏手游
  • 如何做中英文网站创造与魔法官方网站一起做喜欢的事
  • 网站建设制作模板网站怎么做永康好口碑关键词优化
  • 大有网网站网站模板安装好后
  • 网站建设工作总结WordPress背景图片自适应
  • 网站域名自己做食品公司网站源码
  • 江苏中淮建设集团有限公司网站做网站分为竞价和优化
  • 网站被抄袭怎么投诉wordpress register_setting
  • 做网站需要交钱吗做相同网站违法吗