@@ -70,42 +70,22 @@ const selectedFont = ref('MinecraftTitleCyrillic')
7070const saturation = 0.08
7171
7272const presets = {
73- // === Классические цвета ===
74- Чёрный: { bg: ' #2A2A2A' , border: ' #000000' },
73+ " Чёрный" : { bg: ' #2A2A2A' , border: ' #000000' },
7574 " Тёмно-синий" : { bg: ' #00002A' , border: ' #0000AA' },
7675 " Тёмно-зелёный" : { bg: ' #002A00' , border: ' #00AA00' },
7776 " Тёмно-бирюзовый" : { bg: ' #002A2A' , border: ' #00AAAA' },
7877 " Тёмно-красный" : { bg: ' #2A0000' , border: ' #AA0000' },
7978 " Тёмно-пурпурный" : { bg: ' #2A002A' , border: ' #AA00AA' },
80- Золотой: { bg: ' #2A2A00' , border: ' #FFAA00' },
81- Серый: { bg: ' #2A2A2A' , border: ' #AAAAAA' },
79+ " Золотой" : { bg: ' #2A2A00' , border: ' #FFAA00' },
80+ " Серый" : { bg: ' #2A2A2A' , border: ' #AAAAAA' },
8281 " Тёмно-серый" : { bg: ' #151515' , border: ' #555555' },
83- Синий: { bg: ' #15153F' , border: ' #5555FF' },
84- Зелёный: { bg: ' #153F15' , border: ' #55FF55' },
85- Бирюзовый: { bg: ' #153F3F' , border: ' #55FFFF' },
86- Красный: { bg: ' #3F1515' , border: ' #FF5555' },
82+ " Синий" : { bg: ' #15153F' , border: ' #5555FF' },
83+ " Зелёный" : { bg: ' #153F15' , border: ' #55FF55' },
84+ " Бирюзовый" : { bg: ' #153F3F' , border: ' #55FFFF' },
85+ " Красный" : { bg: ' #3F1515' , border: ' #FF5555' },
8786 " Светло-пурпурный" : { bg: ' #3F153F' , border: ' #FF55FF' },
88- Жёлтый: { bg: ' #3F3F15' , border: ' #FFFF55' },
89- Белый: { bg: ' #3F3F3F' , border: ' #FFFFFF' },
90-
91- // === Разные сочетания ===
92- Классика: { bg: ' #282828' , border: ' #a0a0a0' },
93- Изумруд: { bg: ' #003e2f' , border: ' #00ffba' },
94- Золото: { bg: ' #3b2c00' , border: ' #ffcc00' },
95- Незер: { bg: ' #2b0f0f' , border: ' #ff3b3b' },
96- Лёд: { bg: ' #0f2b3b' , border: ' #3bafff' },
97- Алмаз: { bg: ' #0f3b3b' , border: ' #3bffff' },
98- Рубин: { bg: ' #3b0f0f' , border: ' #ff3b6b' },
99- Аметист: { bg: ' #2b0f3b' , border: ' #a03bff' },
100- Обсидиан: { bg: ' #0f0f2b' , border: ' #3b3bff' },
101- Песчаник: { bg: ' #3b2b0f' , border: ' #ffcc66' },
102- Лазурит: { bg: ' #0f0f3b' , border: ' #3b6bff' },
103- Эндер: { bg: ' #1a0f2b' , border: ' #7f3bff' },
104- Призмарин: { bg: ' #0f3b2b' , border: ' #3bffcc' },
105- Медь: { bg: ' #3b1f0f' , border: ' #ff9966' },
106- Светокамень: { bg: ' #3b3b0f' , border: ' #ffff66' },
107- Багровый: { bg: ' #3b0f1f' , border: ' #ff6699' },
108- Искажённый: { bg: ' #0f3b1f' , border: ' #66ff99' }
87+ " Жёлтый" : { bg: ' #3F3F15' , border: ' #FFFF55' },
88+ " Белый" : { bg: ' #3F3F3F' , border: ' #FFFFFF' },
10989}
11090
11191for (const name in presets) {
@@ -167,41 +147,35 @@ function draw() {
167147 const textMetrics = ctx .measureText (text .value )
168148 const textWidth = Math .ceil (textMetrics .width )
169149 const finalWidth = textWidth + 40
170- const finalHeight = 100
150+ const finalHeight = fontSize . value + 60
171151
172152 canvas .value .width = finalWidth
173153 canvas .value .height = finalHeight
174154
175- // Фон
176155 ctx .fillStyle = bgColor .value
177156 ctx .fillRect (0 , 0 , finalWidth, finalHeight)
178157
179- // Рамка
180158 if (showBorder .value ) {
181159 ctx .strokeStyle = borderColor .value
182160 ctx .lineWidth = 2
183161 ctx .strokeRect (0 , 0 , finalWidth, finalHeight)
184162 }
185163
186- // Шрифт
187- ctx .font = ` 48px ${ selectedFont .value } `
164+ ctx .font = ` ${ fontSize .value } px ${ selectedFont .value } `
188165 ctx .textAlign = ' center'
189166 ctx .textBaseline = ' middle'
190167
191168 const centerX = finalWidth / 2
192169 const centerY = finalHeight / 2 + 4
193170
194- // Тень
195171 if (showShadow .value ) {
196172 ctx .fillStyle = shadowColor .value
197173 ctx .fillText (text .value , centerX + 2 , centerY + 2 )
198174 }
199175
200- // Основной текст
201176 ctx .fillStyle = ' #ffffff'
202177 ctx .fillText (text .value , centerX, centerY)
203178
204- // Экспорт изображения
205179 imageSrc .value = canvas .value .toDataURL ()
206180}
207181
0 commit comments