fix: details

This commit is contained in:
2026-02-27 15:40:52 +08:00
parent 23d6d81532
commit 0e2f214552
5 changed files with 64 additions and 51 deletions
+8 -15
View File
@@ -3,8 +3,8 @@ import type { Dimensions } from '../types';
export interface DimensionOptions {
sizeW: number;
sizeH: number;
bleed: string;
padding: string;
bleed: number;
padding: number;
gridW: number;
gridH: number;
fontSize?: number;
@@ -14,28 +14,21 @@ export interface DimensionOptions {
* 解析卡牌尺寸和网格配置
*/
export function calculateDimensions(options: DimensionOptions): Dimensions {
const [bleedW, bleedH] = options.bleed.includes('x')
? options.bleed.split('x').map(Number)
: [Number(options.bleed), Number(options.bleed)];
const [padW, padH] = options.padding.includes('x')
? options.padding.split('x').map(Number)
: [Number(options.padding), Number(options.padding)];
// 实际卡牌尺寸(含出血)
const cardWidth = options.sizeW + bleedW * 2;
const cardHeight = options.sizeH + bleedH * 2;
const cardWidth = options.sizeW + options.bleed * 2;
const cardHeight = options.sizeH + options.bleed * 2;
// 网格区域尺寸(减去 padding)
const gridAreaWidth = options.sizeW - padW * 2;
const gridAreaHeight = options.sizeH - padH * 2;
const gridAreaWidth = options.sizeW - options.padding * 2;
const gridAreaHeight = options.sizeH - options.padding * 2;
// 每个网格单元的尺寸(mm)
const cellWidth = gridAreaWidth / options.gridW;
const cellHeight = gridAreaHeight / options.gridH;
// 网格区域起点(相对于卡牌左上角,含 bleed 和 padding)
const gridOriginX = bleedW + padW;
const gridOriginY = bleedH + padH;
const gridOriginX = options.bleed + options.padding;
const gridOriginY = options.bleed + options.padding;
return {
cardWidth,