fix: 字幕预览scale基于视频实际分辨率,修复预览与实际比例不一致

This commit is contained in:
小鱼开发
2026-05-18 14:20:20 +08:00
parent b4ba482958
commit f3fbb267f9
2 changed files with 4 additions and 3 deletions
@@ -80,8 +80,9 @@ export function useCanvasSubtitleRenderer(options: UseCanvasSubtitleRendererOpti
// 清空画布
ctx.clearRect(0, 0, displayWidth, displayHeight);
// 计算缩放比例(基于高度)
const scale = displayHeight / PLAY_RES_Y;
// 计算缩放比例:以视频实际分辨率或 ASS PlayResY 为基准,确保预览与实际一致
const playResY = video.videoHeight || PLAY_RES_Y;
const scale = displayHeight / playResY;
const currentTimeMs = video.currentTime * 1000;
@@ -181,7 +181,7 @@ export default function SubtitleBurning() {
const videoDurationMs = (alignment?.duration || 0) * 1000;
const buildSubtitleStyle = (preset: TitlePreset): Partial<AssStyle> => ({
fontSize: 50,
fontSize: 56,
primaryColor: htmlColorToAss(preset.primaryColor),
outlineColor: htmlColorToAss(preset.outlineColor),
backColor: htmlColorToAss(preset.backColor),