微信截图_20241114093930.png (122.09 KB, 下载次数: 0)
下载附件
2024-11-14 10:37 上传
多行标题文本编辑
自定义字体选择(支持.ttf/.otf 格式)
字号大小调整
标题颜色选择(带实时预览)
标题上下间距调整
添加段落
删除段落
拖拽排序(通过☰图标)
自动保存功能
标题文本输入
自定义字体选择
字号设置
颜色选择(带预览)
标题下间距设置
对齐方式(左对齐、居中、右对齐)
多行文本编辑
自定义字体选择
字号设置
文本颜色选择
行距调整
段落间距设置
对齐方式(左对齐、居中、右对齐)
右键菜单(剪切、复制、粘贴、全选)
上传背景图片
自动调整图片大小和位置
实时预览效果
所有设置即时更新
模拟最终显示效果
导出为图片(JPG 格式)
保持原始布局和样式
自动保存(每 30 秒)
加载上次编辑内容
保存所有设置(包括字体、颜色、间距等)
支持自定义字体(.ttf 和.otf 格式)
字体搜索功能
字体实时预览
字体选择确认 / 取消
可滚动的编辑区域
固定大小的预览区域
清晰的分区布局
友好的用户界面
文章美化设计
内容展示优化
技术特点
实时渲染预览
稳定的性能表现
精确的排版控制
灵活的自定义选项
[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]