我用python写了一个图文编辑器

查看 63|回复 11
作者:yecaxi   
小弟不才,写了个工具,方便不懂PS的朋友使用,有什么好的建议,发出来我来实现,


微信截图_20241114093930.png (122.09 KB, 下载次数: 0)
下载附件
2024-11-14 10:37 上传

  • 顶部标题设置
    多行标题文本编辑
    自定义字体选择(支持.ttf/.otf 格式)
    字号大小调整
    标题颜色选择(带实时预览)
    标题上下间距调整
  • 段落管理
    添加段落
    删除段落
    拖拽排序(通过☰图标)
    自动保存功能
  • 段落标题设置
    标题文本输入
    自定义字体选择
    字号设置
    颜色选择(带预览)
    标题下间距设置
    对齐方式(左对齐、居中、右对齐)
  • 段落内容设置
    多行文本编辑
    自定义字体选择
    字号设置
    文本颜色选择
    行距调整
    段落间距设置
    对齐方式(左对齐、居中、右对齐)
    右键菜单(剪切、复制、粘贴、全选)
  • 背景设置
    上传背景图片
    自动调整图片大小和位置
  • 预览功能
    实时预览效果
    所有设置即时更新
    模拟最终显示效果
  • 导出功能
    导出为图片(JPG 格式)
    保持原始布局和样式
  • 数据管理
    自动保存(每 30 秒)
    加载上次编辑内容
    保存所有设置(包括字体、颜色、间距等)
  • 字体管理
    支持自定义字体(.ttf 和.otf 格式)
    字体搜索功能
    字体实时预览
    字体选择确认 / 取消
  • 界面特性
    可滚动的编辑区域
    固定大小的预览区域
    清晰的分区布局
    友好的用户界面
    文章美化设计
    内容展示优化
    技术特点
    实时渲染预览
    稳定的性能表现
    精确的排版控制
    灵活的自定义选项
    链接:https://pan.baidu.com/s/1ZxtPbWv3Aw5E-V4_MWyy6g 提取码:wb5m
    [Asm] 纯文本查看 复制代码import tkinter as tk
    from tkinter import ttk
    try:
        from PIL import Image, ImageTk, ImageDraw, ImageFont
    except ImportError:
        try:
            import Image, ImageTk, ImageDraw, ImageFont
        except ImportError:
            raise
    from tkinter import filedialog, messagebox
    from utils import safe_get_int, safe_get_float
    import os
    class PreviewManager:
        def __init__(self, editor):
            self.editor = editor
            self.create_preview_area()
       
        def create_preview_area(self):
            self.preview_canvas = tk.Canvas(
                self.editor.preview_container,
                borderwidth=0,
                relief="flat",
                bg="#f0f0f0",
                highlightthickness=0,
                width=600,
                height=800
            )
            self.preview_canvas.pack(fill=tk.BOTH, expand=True)
            
            shadow_color = '#d0d0d0'
            self.editor.preview_container.configure(style='Preview.TFrame')
            style = ttk.Style()
            style.configure('Preview.TFrame',
                           background=shadow_color,
                           relief='solid',
                           borderwidth=1)
            
            self.preview_content = tk.Frame(
                self.preview_canvas,
                bg="white"
            )
            self.preview_canvas.create_window(
                (0, 0),
                window=self.preview_content,
                anchor="nw",
                width=600,
                height=800
            )
            
            self.preview_canvas.bind('', self._on_canvas_configure)
       
        def upload_background(self):
            file_path = filedialog.askopenfilename(
                filetypes=[
                    ("图片文件", "*.png *.jpg *.jpeg *.gif *.bmp")
                ]
            )
            if file_path:
                try:
                    with Image.open(file_path) as img:
                        if img.size[0]

    字体, 自定义

  • a6814291   

    谢谢分享,我是一个python小白,我尝试运行了代码,第13行出现错误,提示未引用'utils'文件,我尝试将'utils'当作库处理,使用pip install utils安装,并没有解决,求助大神我应该怎样处理
    如果新建一个文件'utils.py'处理的话,所引用的两个自定义函数safe_get_int, safe_get_float应该怎么写?
    对于编程没有基础,自学摸索了一些,对很多问题还一知半解,请教一下,非常感谢
    yanxiaoguang   

    运行后出现 from utils import safe_get_int, safe_get_float
    ImportError: cannot import name 'safe_get_int' from 'utils' (D:\Anaconda\envs\pythonProject\Lib\site-packages\utils\__init__.py),请教大神解决方案
    yuanwiuming   

    好东西,收藏了,赞一个!
    c2042432   

    1111好东西
    田馥甄   

    使用场景是?海报制作吗还是
    Yahoo0222   

    python小白前来学习
    jackiecn111   

    学习学习,赞了
    cgkmh   

    正在学习python的kivy,感谢分享,kivy打包真的是太坑了。
    aosikaiii   

    好东西,点赞
    您需要登录后才可以回帖 登录 | 立即注册

    返回顶部