@jjlmoya/utils-games-development 1.54.0 → 1.56.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/entries.ts +7 -1
- package/src/index.ts +2 -0
- package/src/tests/contrast_legibility.test.ts +291 -0
- package/src/tests/locale_completeness.test.ts +2 -2
- package/src/tests/tool_validation.test.ts +2 -2
- package/src/tool/itchioGameTester/itchio-game-tester.css +3 -3
- package/src/tool/localizationSanitizer/localization-sanitizer.css +17 -15
- package/src/tool/pixelArtPaletteSwapper/app-client.ts +229 -0
- package/src/tool/pixelArtPaletteSwapper/bibliography.astro +6 -0
- package/src/tool/pixelArtPaletteSwapper/bibliography.ts +16 -0
- package/src/tool/pixelArtPaletteSwapper/component.astro +153 -0
- package/src/tool/pixelArtPaletteSwapper/entry.ts +28 -0
- package/src/tool/pixelArtPaletteSwapper/i18n/de.ts +233 -0
- package/src/tool/pixelArtPaletteSwapper/i18n/en.ts +233 -0
- package/src/tool/pixelArtPaletteSwapper/i18n/es.ts +233 -0
- package/src/tool/pixelArtPaletteSwapper/i18n/fr.ts +233 -0
- package/src/tool/pixelArtPaletteSwapper/i18n/id.ts +233 -0
- package/src/tool/pixelArtPaletteSwapper/i18n/it.ts +233 -0
- package/src/tool/pixelArtPaletteSwapper/i18n/ja.ts +225 -0
- package/src/tool/pixelArtPaletteSwapper/i18n/ko.ts +225 -0
- package/src/tool/pixelArtPaletteSwapper/i18n/nl.ts +233 -0
- package/src/tool/pixelArtPaletteSwapper/i18n/pl.ts +233 -0
- package/src/tool/pixelArtPaletteSwapper/i18n/pt.ts +233 -0
- package/src/tool/pixelArtPaletteSwapper/i18n/ru.ts +233 -0
- package/src/tool/pixelArtPaletteSwapper/i18n/sv.ts +233 -0
- package/src/tool/pixelArtPaletteSwapper/i18n/tr.ts +233 -0
- package/src/tool/pixelArtPaletteSwapper/i18n/zh.ts +225 -0
- package/src/tool/pixelArtPaletteSwapper/index.ts +12 -0
- package/src/tool/pixelArtPaletteSwapper/logic.test.ts +43 -0
- package/src/tool/pixelArtPaletteSwapper/logic.ts +171 -0
- package/src/tool/pixelArtPaletteSwapper/pixel-art-palette-swapper.css +728 -0
- package/src/tool/pixelArtPaletteSwapper/seo.astro +15 -0
- package/src/tool/pixelArtPaletteSwapper/ui.ts +35 -0
- package/src/tool/retroSfxGenerator/bibliography.astro +6 -0
- package/src/tool/retroSfxGenerator/bibliography.ts +16 -0
- package/src/tool/retroSfxGenerator/client.ts +263 -0
- package/src/tool/retroSfxGenerator/component.astro +146 -0
- package/src/tool/retroSfxGenerator/entry.ts +27 -0
- package/src/tool/retroSfxGenerator/i18n/de.ts +211 -0
- package/src/tool/retroSfxGenerator/i18n/en.ts +224 -0
- package/src/tool/retroSfxGenerator/i18n/es.ts +211 -0
- package/src/tool/retroSfxGenerator/i18n/fr.ts +211 -0
- package/src/tool/retroSfxGenerator/i18n/id.ts +211 -0
- package/src/tool/retroSfxGenerator/i18n/it.ts +211 -0
- package/src/tool/retroSfxGenerator/i18n/ja.ts +211 -0
- package/src/tool/retroSfxGenerator/i18n/ko.ts +211 -0
- package/src/tool/retroSfxGenerator/i18n/nl.ts +211 -0
- package/src/tool/retroSfxGenerator/i18n/pl.ts +211 -0
- package/src/tool/retroSfxGenerator/i18n/pt.ts +211 -0
- package/src/tool/retroSfxGenerator/i18n/ru.ts +211 -0
- package/src/tool/retroSfxGenerator/i18n/sv.ts +211 -0
- package/src/tool/retroSfxGenerator/i18n/tr.ts +211 -0
- package/src/tool/retroSfxGenerator/i18n/zh.ts +211 -0
- package/src/tool/retroSfxGenerator/index.ts +11 -0
- package/src/tool/retroSfxGenerator/logic.test.ts +61 -0
- package/src/tool/retroSfxGenerator/logic.ts +214 -0
- package/src/tool/retroSfxGenerator/retro-sfx-generator.css +435 -0
- package/src/tool/retroSfxGenerator/seo.astro +15 -0
- package/src/tool/retroSfxGenerator/ui.ts +41 -0
- package/src/tool/saveFileEditor/game-save-file-editor.css +5 -5
- package/src/tool/spriteSheetPacker/sprite-sheet-packer.css +5 -5
- package/src/tool/steamBbcodeTranslator/steam-bbcode-translator.css +8 -8
- package/src/tool/steamCapsuleGenerator/steam-capsule-generator.css +6 -6
- package/src/tools.ts +4 -0
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
2
|
+
import type { PixelArtPaletteSwapperUI } from '../ui';
|
|
3
|
+
|
|
4
|
+
export const content: ToolLocaleContent<PixelArtPaletteSwapperUI> = {
|
|
5
|
+
slug: 'pixel-art-palet-wisselaar',
|
|
6
|
+
title: 'Pixel Art Palet Wisselaar',
|
|
7
|
+
description: 'Reduceer sprites en spritesheets tot klassieke consolepaletten of een aangepaste lijst hex-kleuren direct in je browser.',
|
|
8
|
+
ui: {
|
|
9
|
+
uploadTitle: 'Sleep een sprite of spritesheet',
|
|
10
|
+
uploadHint: 'PNG, JPEG of WebP worden lokaal verwerkt',
|
|
11
|
+
chooseImage: 'Afbeelding kiezen',
|
|
12
|
+
replaceImage: 'Afbeelding vervangen',
|
|
13
|
+
paletteTitle: 'Kies palet',
|
|
14
|
+
gameBoyPalette: 'Game Boy',
|
|
15
|
+
nesPalette: 'Geïnspireerd op NES',
|
|
16
|
+
pico8Palette: 'PICO-8',
|
|
17
|
+
commodore64Palette: 'Commodore 64',
|
|
18
|
+
dawnBringerPalette: 'DawnBringer 16',
|
|
19
|
+
customPalette: 'Aangepaste kleuren',
|
|
20
|
+
customPaletteHint: 'Scheid hex-waarden met komma s, spaties of nieuwe regels.',
|
|
21
|
+
applyCustomPalette: 'Palet toepassen',
|
|
22
|
+
resetCustomPalette: 'Herstellen',
|
|
23
|
+
sourcePreview: 'Origineel',
|
|
24
|
+
resultPreview: 'Gereduceerd resultaat',
|
|
25
|
+
waitingForImage: 'Wachten op een afbeelding',
|
|
26
|
+
uploadToPreview: 'Upload een afbeelding voor een voorbeeld',
|
|
27
|
+
resultEmpty: 'Originele en gereduceerde versie verschijnen naast elkaar.',
|
|
28
|
+
downloadPng: 'PNG downloaden',
|
|
29
|
+
downloadDisabled: 'Upload een afbeelding om te exporteren.',
|
|
30
|
+
colorCount: 'Bronkleuren',
|
|
31
|
+
mappedCount: 'Gebruikte kleuren',
|
|
32
|
+
imageSize: 'Afbeeldingsgrootte',
|
|
33
|
+
paletteCount: 'paletkleuren',
|
|
34
|
+
preserveAlpha: 'Transparantie behouden',
|
|
35
|
+
zoomLabel: 'Zoom',
|
|
36
|
+
processing: 'Pixels toewijzen',
|
|
37
|
+
invalidPalette: 'Voeg minimaal één geldige hex-kleur toe',
|
|
38
|
+
invalidImage: 'Kies een PNG-, JPEG- of WebP-afbeelding',
|
|
39
|
+
readyStatus: 'Klaar',
|
|
40
|
+
dropActive: 'Loslaten om te laden',
|
|
41
|
+
mappedSummary: '{source} bronkleuren omgezet naar {mapped} paletkleuren',
|
|
42
|
+
},
|
|
43
|
+
seo: [
|
|
44
|
+
{
|
|
45
|
+
type: 'title',
|
|
46
|
+
level: 2,
|
|
47
|
+
text: 'Zet een Volledig Gekleurde Sprite om naar een Doordacht Retropalet',
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
type: 'paragraph',
|
|
51
|
+
html: 'Een beperkt kleurenpalet is meer dan een technische beperking. Het geeft een sprite een herkenbare kleurentaal, zorgt ervoor dat elementen in een scène als één geheel voelen en roept het visuele karakter van een specifieke console of retro-hardware op. Met deze online paletwisselaar kun je het originele beeld vergelijken met de gereduceerde versie terwijl je experimenteert met Game Boy, NES-geïnspireerde, PICO-8, Commodore 64, DawnBringer 16 en eigen paletten.',
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
type: 'title',
|
|
55
|
+
level: 2,
|
|
56
|
+
text: 'Hoe Conversie via Dichtstbijzijnde Kleur Werkt',
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
type: 'paragraph',
|
|
60
|
+
html: 'De tool leest de rood-, groen- en blauwkanalen voor elke zichtbare pixel en vergelijkt die kleur met elke kleur in het gekozen palet. Het kiest de paletwaarde met de kleinste kwadratische RGB-afstand en schrijft de vervangende kleur naar een nieuwe canvasbuffer. Het alfakanaal blijft gescheiden, zodat transparante pixels transparant blijven en half-transparante randen hun originele dekking behouden wanneer Transparantie behouden is ingeschakeld.',
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
type: 'comparative',
|
|
64
|
+
columns: 2,
|
|
65
|
+
items: [
|
|
66
|
+
{
|
|
67
|
+
title: 'Paletbeperking',
|
|
68
|
+
description: 'Elke bronkleur wordt vervangen door de dichtstbijzijnde beschikbare kleurwaarde.',
|
|
69
|
+
points: [
|
|
70
|
+
'Snel en voorspelbaar voor sprites, iconen, tegels en interface-elementen',
|
|
71
|
+
'Behoudt de originele afmetingen en pixelposities exact',
|
|
72
|
+
'Maakt het eenvoudig om een vastgesteld kleurenbudget te controleren',
|
|
73
|
+
],
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
title: 'Palette Swapping',
|
|
77
|
+
description: 'Hetzelfde artwork kan worden omgezet naar een andere zorgvuldig gekozen set kleuren.',
|
|
78
|
+
points: [
|
|
79
|
+
'Handig voor alternatieve outfits, omgevingen en schade-statussen',
|
|
80
|
+
'Aangepaste hex-lijsten sluiten naadloos aan op je eigen artistieke richting',
|
|
81
|
+
'Het gedownloade PNG-bestand kan direct weer in je editor worden geïmporteerd',
|
|
82
|
+
],
|
|
83
|
+
},
|
|
84
|
+
],
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
type: 'title',
|
|
88
|
+
level: 2,
|
|
89
|
+
text: 'Een Palet Kiezen voor Pixel Art',
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
type: 'table',
|
|
93
|
+
headers: ['Palet', 'Kleuren', 'Geschikt voor', 'Let op'],
|
|
94
|
+
rows: [
|
|
95
|
+
['Game Boy', '4', 'Monochroom handheld-gevoel en duidelijke contraststudies', 'Een klein bereik kan nabijgelegen materialen samenvoegen'],
|
|
96
|
+
['Geïnspireerd op NES', '16', 'Karakteristieke arcade-sprites, personages en tegels', 'Zeer felle kleuren kunnen kleine details overheersen'],
|
|
97
|
+
['PICO-8', '16', 'Moderne pixel art met volle, verzadigde accenten', 'Sterk verzadigde tinten vragen om bewust contrast'],
|
|
98
|
+
['Commodore 64', '16', 'Zachte retro-scènes en klassieke computergame-esthetiek', 'Laag contrast werkt het beste met duidelijke silhouetten'],
|
|
99
|
+
['DawnBringer 16', '16', 'Veelzijdig handgekozen palet voor algemene pixel art', 'Kleurverlopen hebben nog steeds een duidelijke lichtrichting nodig'],
|
|
100
|
+
],
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
type: 'title',
|
|
104
|
+
level: 2,
|
|
105
|
+
text: 'Praktische Werkwijze voor Spritesheets',
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
type: 'paragraph',
|
|
109
|
+
html: 'Begin met het grootste bronbestand dat je prettig kunt bewerken en upload de geëxporteerde sprite of spritesheet hier. Kies een preset om een richting te bepalen of plak een eigen hex-lijst. Inspecteer beide schermen op een hogere zoom om te controleren op verloren gelaatstrekken, samengevoegde omtrekken of highlights. Als het resultaat wazig oogt, probeer dan een palet met grotere contraststappen of voeg één bewuste accentkleur toe.',
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
type: 'tip',
|
|
113
|
+
title: 'Houd het Palet Doordacht',
|
|
114
|
+
html: 'Een grotere kleurenlijst is niet automatisch beter. Begin met 4 tot 16 kleuren, geef elke kleur een duidelijke functie en bewaar de brightste waarden voor focuspunten of goed leesbare accenten. Het algoritme behoudt de pixelposities, maar kan niet bepalen welke kleuren de visuele hiërarchie van je sprite moeten dragen.',
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
type: 'title',
|
|
118
|
+
level: 2,
|
|
119
|
+
text: 'Export-Checklist voor Pixel Art',
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
type: 'diagnostic',
|
|
123
|
+
variant: 'info',
|
|
124
|
+
title: 'Vóór het Importeren van het Gereduceerde PNG bestand',
|
|
125
|
+
html: 'Controleer het resultaat op 100 procent en op de uiteindelijke schaal in de game, zorg dat transparante randen schoon blijven, controleer of belangrijke silhouetten goed leesbaar blijven en bewaar het originele bronbestand naast de export om het palet aan te passen zonder opnieuw te hoeven beginnen.',
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'glossary',
|
|
129
|
+
items: [
|
|
130
|
+
{
|
|
131
|
+
term: 'Kleurkwantisatie',
|
|
132
|
+
definition: 'Het proces van het reduceren van een grote set bronkleuren tot een kleinere, vastgestelde set.',
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
term: 'Kleurgradiënt (Ramp)',
|
|
136
|
+
definition: 'Een geordende reeks van donkere, middelste en lichte tinten om een oppervlak te schaduwen.',
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
term: 'Geïndexeerd palet',
|
|
140
|
+
definition: 'Een compacte kleurentabel waarin pixels verwijzen naar indexen in een lijst in plaats van volledige kleurwaarden op te slaan.',
|
|
141
|
+
},
|
|
142
|
+
],
|
|
143
|
+
},
|
|
144
|
+
],
|
|
145
|
+
faq: [
|
|
146
|
+
{
|
|
147
|
+
question: 'Worden mijn afbeeldingen geüpload naar een server?',
|
|
148
|
+
answer: 'Nee. De afbeelding wordt in je browser op een canvas gedecodeerd, lokaal verwerkt met JavaScript en direct geëxporteerd als PNG. De tool heeft geen uploadstap.',
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
question: 'Kan ik mijn eigen palet gebruiken?',
|
|
152
|
+
answer: 'Ja. Plak 6-cijferige of 3-cijferige hex-kleuren in het veld Aangepaste kleuren, gescheiden door komma s, spaties of nieuwe regels, en kies Palet toepassen.',
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
question: 'Wordt de grootte van mijn sprite aangepast?',
|
|
156
|
+
answer: 'Nee. De uitvoer behoudt de originele breedte, hoogte, pixelposities en alfawaarden wanneer Transparantie behouden is ingeschakeld.',
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
question: 'Welk algoritme wordt er gebruikt?',
|
|
160
|
+
answer: 'Elke zichtbare pixel wordt toegewezen aan de dichtstbijzijnde kleur in het gekozen palet via kwadratische euclidische afstand in RGB-ruimte. Het is snel, deterministisch en eenvoudig te bekijken, maar gebruikt geen dithering of perceptuele Lab-kleurcorrectie.',
|
|
161
|
+
},
|
|
162
|
+
],
|
|
163
|
+
howTo: [
|
|
164
|
+
{
|
|
165
|
+
name: 'Sprite laden',
|
|
166
|
+
text: 'Sleep een PNG-, JPEG- of WebP-sprite of spritesheet naar het werkgebied of gebruik Afbeelding kiezen.',
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
name: 'Palet kiezen',
|
|
170
|
+
text: 'Kies een klassieke preset of voer je eigen hex-kleuren in. Het resultaat wordt direct bijgewerkt.',
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
name: 'Vergelijken en exporteren',
|
|
174
|
+
text: 'Inspecteer het originele en het gereduceerde scherm, pas de zoom aan en download het resultaat als PNG.',
|
|
175
|
+
},
|
|
176
|
+
],
|
|
177
|
+
schemas: [
|
|
178
|
+
{
|
|
179
|
+
'@context': 'https://schema.org',
|
|
180
|
+
'@type': 'SoftwareApplication',
|
|
181
|
+
name: 'Pixel Art Palet Wisselaar',
|
|
182
|
+
applicationCategory: 'DesignApplication',
|
|
183
|
+
operatingSystem: 'Any',
|
|
184
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD' },
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
'@context': 'https://schema.org',
|
|
188
|
+
'@type': 'FAQPage',
|
|
189
|
+
mainEntity: [
|
|
190
|
+
{
|
|
191
|
+
'@type': 'Question',
|
|
192
|
+
name: 'Worden mijn afbeeldingen geüpload naar een server?',
|
|
193
|
+
acceptedAnswer: {
|
|
194
|
+
'@type': 'Answer',
|
|
195
|
+
text: 'Nee. De afbeelding wordt lokaal verwerkt in de browser en direct als PNG geëxporteerd.',
|
|
196
|
+
},
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
'@type': 'Question',
|
|
200
|
+
name: 'Kan ik mijn eigen palet gebruiken?',
|
|
201
|
+
acceptedAnswer: {
|
|
202
|
+
'@type': 'Answer',
|
|
203
|
+
text: 'Ja. Plak hex-kleuren in het veld Aangepaste kleuren en kies Palet toepassen.',
|
|
204
|
+
},
|
|
205
|
+
},
|
|
206
|
+
],
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
'@context': 'https://schema.org',
|
|
210
|
+
'@type': 'HowTo',
|
|
211
|
+
name: 'Hoe reduceer je een sprite naar een retropalet',
|
|
212
|
+
step: [
|
|
213
|
+
{ '@type': 'HowToStep', name: 'Sprite laden', text: 'Sleep een bestand naar het werkgebied.' },
|
|
214
|
+
{ '@type': 'HowToStep', name: 'Palet kiezen', text: 'Kies een preset of voer hex-kleuren in.' },
|
|
215
|
+
{ '@type': 'HowToStep', name: 'Vergelijken en exporteren', text: 'Inspecteer het resultaat en download de PNG.' },
|
|
216
|
+
],
|
|
217
|
+
},
|
|
218
|
+
],
|
|
219
|
+
bibliography: [
|
|
220
|
+
{
|
|
221
|
+
name: 'MDN Canvas API',
|
|
222
|
+
url: 'https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API',
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
name: 'Lospec Palette List',
|
|
226
|
+
url: 'https://lospec.com/palette-list',
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
name: 'W3C Portable Network Graphics Specification',
|
|
230
|
+
url: 'https://www.w3.org/TR/png-3/',
|
|
231
|
+
},
|
|
232
|
+
],
|
|
233
|
+
};
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
2
|
+
import type { PixelArtPaletteSwapperUI } from '../ui';
|
|
3
|
+
|
|
4
|
+
export const content: ToolLocaleContent<PixelArtPaletteSwapperUI> = {
|
|
5
|
+
slug: 'konwerter-palety-pixel-art',
|
|
6
|
+
title: 'Konwerter Palety dla Pixel Artu',
|
|
7
|
+
description: 'Redukuj kolory spritów i arkuszy grafik do klasycznych palet konsolowych lub własnej listy kolorów hex bezpośrednio w przeglądarce.',
|
|
8
|
+
ui: {
|
|
9
|
+
uploadTitle: 'Przeciągnij sprite lub arkusz grafik',
|
|
10
|
+
uploadHint: 'Pliki PNG, JPEG lub WebP są przetwarzane na Twoim urządzeniu',
|
|
11
|
+
chooseImage: 'Wybierz obraz',
|
|
12
|
+
replaceImage: 'Zamień obraz',
|
|
13
|
+
paletteTitle: 'Wybierz paletę',
|
|
14
|
+
gameBoyPalette: 'Game Boy',
|
|
15
|
+
nesPalette: 'Inspirowana NES',
|
|
16
|
+
pico8Palette: 'PICO-8',
|
|
17
|
+
commodore64Palette: 'Commodore 64',
|
|
18
|
+
dawnBringerPalette: 'DawnBringer 16',
|
|
19
|
+
customPalette: 'Własne kolory',
|
|
20
|
+
customPaletteHint: 'Rozdziel wartości hex przecinkami, spacjami lub nowymi liniami.',
|
|
21
|
+
applyCustomPalette: 'Zastosuj paletę',
|
|
22
|
+
resetCustomPalette: 'Zresetuj',
|
|
23
|
+
sourcePreview: 'Oryginał',
|
|
24
|
+
resultPreview: 'Zredukowany wynik',
|
|
25
|
+
waitingForImage: 'Oczekiwanie na obraz',
|
|
26
|
+
uploadToPreview: 'Prześlij obraz, aby zobaczyć podgląd',
|
|
27
|
+
resultEmpty: 'Wersja oryginalna i zredukowana pojawią się obok siebie.',
|
|
28
|
+
downloadPng: 'Pobierz PNG',
|
|
29
|
+
downloadDisabled: 'Prześlij obraz, aby odblokować eksport.',
|
|
30
|
+
colorCount: 'Kolory źródłowe',
|
|
31
|
+
mappedCount: 'Użyte kolory',
|
|
32
|
+
imageSize: 'Rozmiar obrazu',
|
|
33
|
+
paletteCount: 'kolorów w palecie',
|
|
34
|
+
preserveAlpha: 'Zachowaj przezroczystość',
|
|
35
|
+
zoomLabel: 'Powiększenie',
|
|
36
|
+
processing: 'Mapowanie pikseli',
|
|
37
|
+
invalidPalette: 'Dodaj przynajmniej jeden poprawny kod hex',
|
|
38
|
+
invalidImage: 'Wybierz obraz w formacie PNG, JPEG lub WebP',
|
|
39
|
+
readyStatus: 'Gotowe',
|
|
40
|
+
dropActive: 'Upuść, aby wczytać',
|
|
41
|
+
mappedSummary: 'Zmapowano {source} kolorów źródłowych na {mapped} kolorów palety',
|
|
42
|
+
},
|
|
43
|
+
seo: [
|
|
44
|
+
{
|
|
45
|
+
type: 'title',
|
|
46
|
+
level: 2,
|
|
47
|
+
text: 'Zamień Pełnokolorowy Sprite w Przemyślaną Retropaletę',
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
type: 'paragraph',
|
|
51
|
+
html: 'Ograniczona paleta to coś więcej niż tylko techniczne ograniczenie. Nadaje spritowi spójną język kolorów, sprawia, że elementy sceny pasują do siebie i przywołuje wizualny charakter konkretnej konsoli lub klasycznego sprzętu. Ten konwerter palet w przeglądarce pozwala porównać obraz źródłowy z wersją zredukowaną podczas eksperymentowania z paletami Game Boy, inspirowanymi NES, PICO-8, Commodore 64, DawnBringer 16 oraz własnymi zestawami kolorów.',
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
type: 'title',
|
|
55
|
+
level: 2,
|
|
56
|
+
text: 'Jak Działa Mapowanie do Najbliższego Koloru',
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
type: 'paragraph',
|
|
60
|
+
html: 'Narzędzie odczytuje kanały czerwony, zielony i niebieski dla każdego widocznego piksela i porównuje ten kolor z każdym kolorem w wybranej palecie. Wybiera element palety o najmniejszej kwadratowej odległości RGB, a następnie zapisuje zastępczy kolor w nowym buforze płótna. Kanał alfa jest traktowany oddzielnie, dzięki czemu przezroczyste piksele pozostają przezroczyste, a półprzezroczyste krawędzie zachowują swoją oryginalną przezroczystość, gdy włączona jest opcja Zachowaj przezroczystość.',
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
type: 'comparative',
|
|
64
|
+
columns: 2,
|
|
65
|
+
items: [
|
|
66
|
+
{
|
|
67
|
+
title: 'Redukcja palety',
|
|
68
|
+
description: 'Każdy kolor źródłowy jest zastępowany najbliższą dostępną próbką barwy.',
|
|
69
|
+
points: [
|
|
70
|
+
'Szybkie i przewidywalne dla spritów, ikon, kafli i elementów interfejsu',
|
|
71
|
+
'Zachowuje dokładnie oryginalne wymiary i pozycje pikseli',
|
|
72
|
+
'Ułatwia kontrolę i przegląd ustalonego budżetu kolorów',
|
|
73
|
+
],
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
title: 'Palette Swapping',
|
|
77
|
+
description: 'Ta sama grafika może zostać zmapowana na inny, starannie dobrany zestaw kolorów.',
|
|
78
|
+
points: [
|
|
79
|
+
'Przydatne dla alternatywnych strojów, biomów i stanów uszkodzeń',
|
|
80
|
+
'Niestandardowe listy hex pozwalają dopasować się do własnej wizji artystycznej',
|
|
81
|
+
'Pobrany plik PNG jest od razu gotowy do zaimportowania w Twoim edytorze',
|
|
82
|
+
],
|
|
83
|
+
},
|
|
84
|
+
],
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
type: 'title',
|
|
88
|
+
level: 2,
|
|
89
|
+
text: 'Wybór Palety dla Pixel Artu',
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
type: 'table',
|
|
93
|
+
headers: ['Paleta', 'Kolory', 'Zastosowanie', 'Na co uważać'],
|
|
94
|
+
rows: [
|
|
95
|
+
['Game Boy', '4', 'Monochromatyczny klimat konsoli przenośnej i wyraźne studia wartości', 'Mały zakres wartości może zlewać blisko położone materiały'],
|
|
96
|
+
['Inspirowana NES', '16', 'Wyraziste grafiki arcade, postacie i kafle', 'Bardzo jasne kolory mogą przytłaczać drobne detale'],
|
|
97
|
+
['PICO-8', '16', 'Nowoczesny pixel art z nasyconymi akcentami kolorystycznymi', 'Silnie nasycone odcienie wymagają przemyślanego kontrastu'],
|
|
98
|
+
['Commodore 64', '16', 'Stonowane sceny retro i estetyka gier komputerowych', 'Niski kontrast zyskuje przy zastosowaniu wyrazistych sylwetek'],
|
|
99
|
+
['DawnBringer 16', '16', 'Wszechstronna, starannie dobrana paleta do ogólnego pixel artu', 'Rampy kolorów wciąż wymagają świadomego kierunku światła'],
|
|
100
|
+
],
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
type: 'title',
|
|
104
|
+
level: 2,
|
|
105
|
+
text: 'Praktyczny Przebieg Pracy z Arkuszami Grafik',
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
type: 'paragraph',
|
|
109
|
+
html: 'Zacznij od największej grafiki źródłowej, jaką możesz wygodnie edytować, a następnie prześlij wyeksportowany sprite lub arkusz grafik tutaj. Wybierz gotowy zestaw, aby ustalić kierunek, lub wklej niestandardową listę z biblioteki palet. Sprawdź oba płótna przy większym powiększeniu pod kątem utraconych rysów twarzy, połączonych konturów i refleksów, które nie odcinają się już od koloru bazowego. Jeśli wynik wydaje się nieczytelny, wypróbuj paletę z wyraźniejszymi skokami wartości lub dodaj jeden przemyślany kolor akcentujący do listy.',
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
type: 'tip',
|
|
113
|
+
title: 'Świadomie Dobieraj Paletę',
|
|
114
|
+
html: 'Większa lista kolorów nie jest automatycznie lepsza. Zacznij od 4 do 16 kolorów, przypisz każdemu kolorowi określone zadanie i zarezerwuj najjaśniejsze wartości dla punktów centralnych lub czytelnych refleksów. Algorytm najbliższego koloru zachowuje pozycje pikseli, ale nie decyduje o tym, które kolory powinny budować hierarchię wizualną Twojego sprita.',
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
type: 'title',
|
|
118
|
+
level: 2,
|
|
119
|
+
text: 'Lista Kontrolna Eksportu Pixel Artu',
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
type: 'diagnostic',
|
|
123
|
+
variant: 'info',
|
|
124
|
+
title: 'Przed Zaimportowaniem Zredukowanego Pliku PNG',
|
|
125
|
+
html: 'Sprawdź wynik w skali 100 procent oraz w ostatecznej skali w grze, upewnij się, że przezroczyste krawędzie pozostają czyste, zweryfikuj czytelność ważnych sylwetek i zachowaj oryginalny plik źródłowy obok wyeksportowanego, aby móc dostosować paletę bez zaczynania od zera.',
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'glossary',
|
|
129
|
+
items: [
|
|
130
|
+
{
|
|
131
|
+
term: 'Kwantyzacja koloru',
|
|
132
|
+
definition: 'Proces redukcji dużego zestawu kolorów źródłowych do mniejszego, zdefiniowanego zbioru.',
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
term: 'Rampa kolorów',
|
|
136
|
+
definition: 'Uporządkowany ciąg ciemnych, średnich i jasnych odcieni używany do cieniowania powierzchni.',
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
term: 'Paleta indeksowana',
|
|
140
|
+
definition: 'Kompaktowa tabela kolorów, w której piksele odwołują się do wpisów na wspólnej liście zamiast wielokrotnie zapisywać pełne kolory.',
|
|
141
|
+
},
|
|
142
|
+
],
|
|
143
|
+
},
|
|
144
|
+
],
|
|
145
|
+
faq: [
|
|
146
|
+
{
|
|
147
|
+
question: 'Czy konwerter palet przesyła moje obrazy na serwer?',
|
|
148
|
+
answer: 'Nie. Obraz jest dekodowany na płótnie w Twojej przeglądarce, mapowany lokalnie w JavaScript i eksportowany bezpośrednio jako PNG. Narzędzie nie posiada kroku przesyłania na serwer.',
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
question: 'Czy mogę użyć własnej palety?',
|
|
152
|
+
answer: 'Tak. Wklej 6-cyfrowe lub 3-cyfrowe kody hex w polu Własne kolory, rozdzielając je przecinkami, spacjami lub nowymi liniami, a następnie wybierz Zastosuj paletę.',
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
question: 'Czy narzędzie zmienia rozmiar mojego sprita lub arkusza grafik?',
|
|
156
|
+
answer: 'Nie. Plik wynikowy zachowuje oryginalną szerokość, wysokość, pozycje pikseli i wartości alfa, gdy opcja Zachowaj przezroczystość jest włączona.',
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
question: 'Jaki algorytm jest używany?',
|
|
160
|
+
answer: 'Każdy widoczny piksel jest przypisywany do najbliższego koloru w wybranej palecie przy użyciu kwadratowej odległości euklidesowej w przestrzeni RGB. Jest to metoda szybka, deterministyczna i łatwa w podglądzie, ale nie stosuje ditheringu ani korekcji perceptualnej Lab.',
|
|
161
|
+
},
|
|
162
|
+
],
|
|
163
|
+
howTo: [
|
|
164
|
+
{
|
|
165
|
+
name: 'Załaduj sprite',
|
|
166
|
+
text: 'Przeciągnij sprite lub arkusz grafik w formacie PNG, JPEG lub WebP do obszaru roboczego lub użyj przycisku Wybierz obraz.',
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
name: 'Wybierz paletę',
|
|
170
|
+
text: 'Wybierz klasyczny zestaw lub wprowadź własne kolory hex. Wynik aktualizuje się natychmiast po zastosowaniu palety.',
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
name: 'Porównaj i wyeksportuj',
|
|
174
|
+
text: 'Sprawdź płótno oryginalne i zredukowane, dostosuj powiększenie podglądu i pobierz wynik jako plik PNG.',
|
|
175
|
+
},
|
|
176
|
+
],
|
|
177
|
+
schemas: [
|
|
178
|
+
{
|
|
179
|
+
'@context': 'https://schema.org',
|
|
180
|
+
'@type': 'SoftwareApplication',
|
|
181
|
+
name: 'Konwerter Palety dla Pixel Artu',
|
|
182
|
+
applicationCategory: 'DesignApplication',
|
|
183
|
+
operatingSystem: 'Any',
|
|
184
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD' },
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
'@context': 'https://schema.org',
|
|
188
|
+
'@type': 'FAQPage',
|
|
189
|
+
mainEntity: [
|
|
190
|
+
{
|
|
191
|
+
'@type': 'Question',
|
|
192
|
+
name: 'Czy konwerter palet przesyła moje obrazy na serwer?',
|
|
193
|
+
acceptedAnswer: {
|
|
194
|
+
'@type': 'Answer',
|
|
195
|
+
text: 'Nie. Obraz jest przetwarzany lokalnie w przeglądarce i eksportowany bezpośrednio jako PNG.',
|
|
196
|
+
},
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
'@type': 'Question',
|
|
200
|
+
name: 'Czy mogę użyć własnej palety?',
|
|
201
|
+
acceptedAnswer: {
|
|
202
|
+
'@type': 'Answer',
|
|
203
|
+
text: 'Tak. Wklej kody hex w polu Własne kolory i kliknij Zastosuj paletę.',
|
|
204
|
+
},
|
|
205
|
+
},
|
|
206
|
+
],
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
'@context': 'https://schema.org',
|
|
210
|
+
'@type': 'HowTo',
|
|
211
|
+
name: 'Jak zredukować sprite do retropalety',
|
|
212
|
+
step: [
|
|
213
|
+
{ '@type': 'HowToStep', name: 'Załaduj sprite', text: 'Przeciągnij plik do obszaru roboczego.' },
|
|
214
|
+
{ '@type': 'HowToStep', name: 'Wybierz paletę', text: 'Wybierz zestaw lub wprowadź kolory hex.' },
|
|
215
|
+
{ '@type': 'HowToStep', name: 'Porównaj i wyeksportuj', text: 'Sprawdź wynik i pobierz plik PNG.' },
|
|
216
|
+
],
|
|
217
|
+
},
|
|
218
|
+
],
|
|
219
|
+
bibliography: [
|
|
220
|
+
{
|
|
221
|
+
name: 'MDN Canvas API',
|
|
222
|
+
url: 'https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API',
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
name: 'Lospec Palette List',
|
|
226
|
+
url: 'https://lospec.com/palette-list',
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
name: 'W3C Portable Network Graphics Specification',
|
|
230
|
+
url: 'https://www.w3.org/TR/png-3/',
|
|
231
|
+
},
|
|
232
|
+
],
|
|
233
|
+
};
|