@jjlmoya/utils-creative 1.20.0 → 1.22.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 +4 -2
- package/src/category/i18n/de.ts +1 -1
- package/src/category/i18n/ru.ts +1 -1
- package/src/data.ts +2 -1
- package/src/entries.ts +3 -1
- package/src/index.ts +3 -0
- package/src/layouts/PreviewLayout.astro +7 -2
- package/src/tests/diacritics_density.test.ts +118 -0
- package/src/tests/inverted_punctuation.test.ts +84 -0
- package/src/tests/locale_completeness.test.ts +2 -14
- package/src/tests/no_en_dash.test.ts +70 -0
- package/src/tests/pagespeed_best_practices.test.ts +198 -0
- package/src/tests/script_density.test.ts +94 -0
- package/src/tests/tool_validation.test.ts +2 -2
- package/src/tool/bead-pattern-generator/bibliography.astro +2 -12
- package/src/tool/bead-pattern-generator/bibliography.ts +5 -0
- package/src/tool/bead-pattern-generator/component.astro +2 -2
- package/src/tool/bead-pattern-generator/entry.ts +0 -1
- package/src/tool/bead-pattern-generator/i18n/de.ts +4 -8
- package/src/tool/bead-pattern-generator/i18n/en.ts +4 -8
- package/src/tool/bead-pattern-generator/i18n/es.ts +4 -8
- package/src/tool/bead-pattern-generator/i18n/fr.ts +5 -9
- package/src/tool/bead-pattern-generator/i18n/id.ts +4 -8
- package/src/tool/bead-pattern-generator/i18n/it.ts +4 -8
- package/src/tool/bead-pattern-generator/i18n/ja.ts +4 -8
- package/src/tool/bead-pattern-generator/i18n/ko.ts +4 -8
- package/src/tool/bead-pattern-generator/i18n/nl.ts +4 -8
- package/src/tool/bead-pattern-generator/i18n/pl.ts +4 -8
- package/src/tool/bead-pattern-generator/i18n/pt.ts +4 -8
- package/src/tool/bead-pattern-generator/i18n/ru.ts +8 -12
- package/src/tool/bead-pattern-generator/i18n/sv.ts +4 -8
- package/src/tool/bead-pattern-generator/i18n/tr.ts +4 -8
- package/src/tool/bead-pattern-generator/i18n/zh.ts +7 -11
- package/src/tool/dice-roller/bibliography.astro +3 -12
- package/src/tool/dice-roller/bibliography.ts +5 -0
- package/src/tool/dice-roller/entry.ts +0 -1
- package/src/tool/dice-roller/i18n/de.ts +12 -16
- package/src/tool/dice-roller/i18n/en.ts +12 -16
- package/src/tool/dice-roller/i18n/es.ts +11 -15
- package/src/tool/dice-roller/i18n/fr.ts +18 -22
- package/src/tool/dice-roller/i18n/id.ts +12 -16
- package/src/tool/dice-roller/i18n/it.ts +11 -15
- package/src/tool/dice-roller/i18n/ja.ts +9 -13
- package/src/tool/dice-roller/i18n/ko.ts +10 -14
- package/src/tool/dice-roller/i18n/nl.ts +12 -16
- package/src/tool/dice-roller/i18n/pl.ts +11 -15
- package/src/tool/dice-roller/i18n/pt.ts +12 -16
- package/src/tool/dice-roller/i18n/ru.ts +18 -22
- package/src/tool/dice-roller/i18n/sv.ts +12 -16
- package/src/tool/dice-roller/i18n/tr.ts +10 -14
- package/src/tool/dice-roller/i18n/zh.ts +16 -20
- package/src/tool/excuse-generator/bibliography.astro +2 -12
- package/src/tool/excuse-generator/bibliography.ts +3 -0
- package/src/tool/excuse-generator/entry.ts +0 -1
- package/src/tool/excuse-generator/i18n/de.ts +7 -9
- package/src/tool/excuse-generator/i18n/en.ts +2 -4
- package/src/tool/excuse-generator/i18n/es.ts +2 -4
- package/src/tool/excuse-generator/i18n/fr.ts +4 -6
- package/src/tool/excuse-generator/i18n/id.ts +2 -4
- package/src/tool/excuse-generator/i18n/it.ts +2 -4
- package/src/tool/excuse-generator/i18n/ja.ts +2 -4
- package/src/tool/excuse-generator/i18n/ko.ts +2 -4
- package/src/tool/excuse-generator/i18n/nl.ts +2 -4
- package/src/tool/excuse-generator/i18n/pl.ts +7 -9
- package/src/tool/excuse-generator/i18n/pt.ts +2 -4
- package/src/tool/excuse-generator/i18n/ru.ts +7 -9
- package/src/tool/excuse-generator/i18n/sv.ts +2 -4
- package/src/tool/excuse-generator/i18n/tr.ts +2 -4
- package/src/tool/excuse-generator/i18n/zh.ts +9 -11
- package/src/tool/fortune-cookie/bibliography.astro +2 -12
- package/src/tool/fortune-cookie/bibliography.ts +3 -0
- package/src/tool/fortune-cookie/component.astro +7 -10
- package/src/tool/fortune-cookie/entry.ts +0 -1
- package/src/tool/fortune-cookie/i18n/de.ts +6 -9
- package/src/tool/fortune-cookie/i18n/en.ts +6 -9
- package/src/tool/fortune-cookie/i18n/es.ts +2 -4
- package/src/tool/fortune-cookie/i18n/fr.ts +7 -10
- package/src/tool/fortune-cookie/i18n/id.ts +6 -9
- package/src/tool/fortune-cookie/i18n/it.ts +3 -6
- package/src/tool/fortune-cookie/i18n/ja.ts +2 -5
- package/src/tool/fortune-cookie/i18n/ko.ts +2 -5
- package/src/tool/fortune-cookie/i18n/nl.ts +6 -9
- package/src/tool/fortune-cookie/i18n/pl.ts +6 -9
- package/src/tool/fortune-cookie/i18n/pt.ts +6 -9
- package/src/tool/fortune-cookie/i18n/ru.ts +17 -20
- package/src/tool/fortune-cookie/i18n/sv.ts +6 -9
- package/src/tool/fortune-cookie/i18n/tr.ts +5 -8
- package/src/tool/fortune-cookie/i18n/zh.ts +7 -10
- package/src/tool/glitch-image-distorter/bibliography.astro +8 -0
- package/src/tool/glitch-image-distorter/bibliography.ts +4 -0
- package/src/tool/glitch-image-distorter/component.astro +393 -0
- package/src/tool/glitch-image-distorter/entry.ts +48 -0
- package/src/tool/glitch-image-distorter/glitch-image-distorter.css +233 -0
- package/src/tool/glitch-image-distorter/i18n/de.ts +131 -0
- package/src/tool/glitch-image-distorter/i18n/en.ts +131 -0
- package/src/tool/glitch-image-distorter/i18n/es.ts +131 -0
- package/src/tool/glitch-image-distorter/i18n/fr.ts +131 -0
- package/src/tool/glitch-image-distorter/i18n/id.ts +131 -0
- package/src/tool/glitch-image-distorter/i18n/it.ts +131 -0
- package/src/tool/glitch-image-distorter/i18n/ja.ts +131 -0
- package/src/tool/glitch-image-distorter/i18n/ko.ts +131 -0
- package/src/tool/glitch-image-distorter/i18n/nl.ts +131 -0
- package/src/tool/glitch-image-distorter/i18n/pl.ts +131 -0
- package/src/tool/glitch-image-distorter/i18n/pt.ts +131 -0
- package/src/tool/glitch-image-distorter/i18n/ru.ts +131 -0
- package/src/tool/glitch-image-distorter/i18n/sv.ts +131 -0
- package/src/tool/glitch-image-distorter/i18n/tr.ts +131 -0
- package/src/tool/glitch-image-distorter/i18n/zh.ts +131 -0
- package/src/tool/glitch-image-distorter/index.ts +9 -0
- package/src/tool/glitch-image-distorter/seo.astro +15 -0
- package/src/tool/synesthesia-painter/bibliography.astro +3 -12
- package/src/tool/synesthesia-painter/bibliography.ts +5 -0
- package/src/tool/synesthesia-painter/entry.ts +0 -1
- package/src/tool/synesthesia-painter/i18n/de.ts +14 -18
- package/src/tool/synesthesia-painter/i18n/en.ts +5 -9
- package/src/tool/synesthesia-painter/i18n/es.ts +4 -8
- package/src/tool/synesthesia-painter/i18n/fr.ts +10 -14
- package/src/tool/synesthesia-painter/i18n/id.ts +5 -9
- package/src/tool/synesthesia-painter/i18n/it.ts +2 -6
- package/src/tool/synesthesia-painter/i18n/ja.ts +4 -8
- package/src/tool/synesthesia-painter/i18n/ko.ts +4 -8
- package/src/tool/synesthesia-painter/i18n/nl.ts +4 -8
- package/src/tool/synesthesia-painter/i18n/pl.ts +14 -18
- package/src/tool/synesthesia-painter/i18n/pt.ts +5 -9
- package/src/tool/synesthesia-painter/i18n/ru.ts +17 -21
- package/src/tool/synesthesia-painter/i18n/sv.ts +5 -9
- package/src/tool/synesthesia-painter/i18n/tr.ts +4 -8
- package/src/tool/synesthesia-painter/i18n/zh.ts +15 -19
- package/src/tool/zalgo-generator/bibliography.astro +2 -12
- package/src/tool/zalgo-generator/bibliography.ts +5 -0
- package/src/tool/zalgo-generator/component.astro +1 -1
- package/src/tool/zalgo-generator/entry.ts +0 -1
- package/src/tool/zalgo-generator/i18n/de.ts +9 -13
- package/src/tool/zalgo-generator/i18n/en.ts +5 -9
- package/src/tool/zalgo-generator/i18n/es.ts +4 -8
- package/src/tool/zalgo-generator/i18n/fr.ts +9 -13
- package/src/tool/zalgo-generator/i18n/id.ts +5 -9
- package/src/tool/zalgo-generator/i18n/it.ts +4 -8
- package/src/tool/zalgo-generator/i18n/ja.ts +4 -8
- package/src/tool/zalgo-generator/i18n/ko.ts +4 -8
- package/src/tool/zalgo-generator/i18n/nl.ts +5 -9
- package/src/tool/zalgo-generator/i18n/pl.ts +9 -13
- package/src/tool/zalgo-generator/i18n/pt.ts +5 -9
- package/src/tool/zalgo-generator/i18n/ru.ts +9 -13
- package/src/tool/zalgo-generator/i18n/sv.ts +5 -9
- package/src/tool/zalgo-generator/i18n/tr.ts +5 -9
- package/src/tool/zalgo-generator/i18n/zh.ts +9 -13
- package/src/tools.ts +2 -0
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import { bibliography } from '../bibliography';
|
|
3
|
+
import type { GlitchImageDistorterLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'glitch-afbeelding-distorter';
|
|
6
|
+
const title = 'Glitch Afbeelding Distorter';
|
|
7
|
+
const description = 'Transformeer afbeeldingen in glitch-art met RGB-splits, scanlines, pixel sorting en geanimeerde vervormingen. Geen Photoshop nodig.';
|
|
8
|
+
|
|
9
|
+
const faq: GlitchImageDistorterLocaleContent['faq'] = [
|
|
10
|
+
{
|
|
11
|
+
question: 'Wat is glitch-art?',
|
|
12
|
+
answer: 'Glitch-art is een vorm van digitale kunst die wordt gecreëerd door digitale afbeeldingen of gegevens te manipuleren om opzettelijke visuele fouten te produceren. Deze "glitches" resulteren in gefragmenteerde kleuren, vervormde vormen en onvoorspelbare patronen die een esthetiek van digitale corruptie en chaos creëren.',
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
question: 'Kan ik mijn eigen afbeeldingen gebruiken?',
|
|
16
|
+
answer: 'Ja! Je kunt elke PNG-, JPG- of WebP-afbeelding uploaden, naar het canvas slepen of een afbeelding rechtstreeks vanaf je klembord plakken met Ctrl+V. Je kunt ook de voorbeeld-afbeelding gebruiken.',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
question: 'Wat doen de verschillende vervormingseffecten?',
|
|
20
|
+
answer: 'Corruption scheidt de RGB-kanalen voor een chromatisch aberratie-effect. Interference voegt monitor-achtige scanlines toe met optionele tremor. Pixel Sorting laat heldere pixels "druipen" in een gekozen richting. Static Noise voegt de klassieke tv-sneeuw toe.',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
question: 'Kan ik het glitch-effect animeren?',
|
|
24
|
+
answer: 'Zeker! De modus "Glitch Animate" past micro-willekeurige bewegingen toe op de parameters, waardoor een levendig, flikkerend effect ontstaat dat continu doorloopt. Je kunt dit exporteren als een geanimeerde GIF of WebP.',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
question: 'Welke formaten kan ik exporteren?',
|
|
28
|
+
answer: 'Je kunt een hoogwaardige PNG downloaden voor statisch gebruik, of exporteren als geanimeerde GIF of WebP als je de animatiemodus hebt ingeschakeld. Perfect voor Instagram, Discord of andere platforms.',
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
question: 'Wat doet de Chaos-knop?',
|
|
32
|
+
answer: 'De "Chaos Random" knop randomiseert onmiddellijk alle schuifregelaars, waardoor onverwachte en vaak verrassende glitch-combinaties ontstaan. Het is perfect om het creatieve potentieel te verkennen zonder handmatige aanpassingen.',
|
|
33
|
+
},
|
|
34
|
+
];
|
|
35
|
+
|
|
36
|
+
const howTo: GlitchImageDistorterLocaleContent['howTo'] = [
|
|
37
|
+
{ name: 'Afbeelding laden', text: 'Sleep een afbeelding naar het canvas, plak er een met Ctrl+V, upload via de knop of klik op "Gebruik voorbeeld-afbeelding".' },
|
|
38
|
+
{ name: 'Schuifregelaars aanpassen', text: 'Gebruik de regelaars voor Corruption, Interference, Pixel Sort en Noise om verschillende glitch-effecten toe te passen. De preview wordt direct bijgewerkt.' },
|
|
39
|
+
{ name: 'Animatie inschakelen', text: 'Zet de "Glitch Animate" knop aan om willekeurige bewegingen en flikkeringen toe te voegen. De afbeelding komt tot leven met een dynamisch effect.' },
|
|
40
|
+
{ name: 'Creatie exporteren', text: 'Download als PNG voor statische kunst of exporteer als GIF/WebP als animatie aan staat. Deel je glitch-art op social media!' },
|
|
41
|
+
{ name: 'Experimenteren met Chaos', text: 'Klik op de "Chaos Random" knop om automatisch verrassende combinaties van effecten te ontdekken.' },
|
|
42
|
+
];
|
|
43
|
+
|
|
44
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
45
|
+
'@context': 'https://schema.org',
|
|
46
|
+
'@type': 'FAQPage',
|
|
47
|
+
mainEntity: faq.map((item) => ({
|
|
48
|
+
'@type': 'Question',
|
|
49
|
+
name: item.question,
|
|
50
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
51
|
+
})),
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
const howToSchema: WithContext<HowTo> = {
|
|
55
|
+
'@context': 'https://schema.org',
|
|
56
|
+
'@type': 'HowTo',
|
|
57
|
+
name: title,
|
|
58
|
+
description,
|
|
59
|
+
step: howTo.map((step) => ({
|
|
60
|
+
'@type': 'HowToStep',
|
|
61
|
+
name: step.name,
|
|
62
|
+
text: step.text,
|
|
63
|
+
})),
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
67
|
+
'@context': 'https://schema.org',
|
|
68
|
+
'@type': 'SoftwareApplication',
|
|
69
|
+
name: title,
|
|
70
|
+
description,
|
|
71
|
+
applicationCategory: 'UtilitiesApplication',
|
|
72
|
+
operatingSystem: 'Web',
|
|
73
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
74
|
+
inLanguage: 'nl',
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
export const content: GlitchImageDistorterLocaleContent = {
|
|
78
|
+
slug,
|
|
79
|
+
title,
|
|
80
|
+
description,
|
|
81
|
+
faqTitle: 'Veelgestelde Vragen',
|
|
82
|
+
ui: {
|
|
83
|
+
title: 'Glitch Distorter',
|
|
84
|
+
description: 'Maak glitch-art in enkele seconden.',
|
|
85
|
+
dragDropText: 'Sleep een afbeelding hierheen of klik om te uploaden',
|
|
86
|
+
pasteHint: 'Tip: Je kunt ook een afbeelding plakken met Ctrl+V',
|
|
87
|
+
exampleImageBtn: 'Gebruik voorbeeld-afbeelding',
|
|
88
|
+
corruptionLabel: 'Corruption (RGB-split)',
|
|
89
|
+
interferenceLabel: 'Interference (Lijnen)',
|
|
90
|
+
tremorLabel: 'Trilling',
|
|
91
|
+
pixelSortLabel: 'Pixel Sorting',
|
|
92
|
+
pixelSortDirectionLabel: 'Richting',
|
|
93
|
+
noiseLabel: 'Statische Ruis',
|
|
94
|
+
animateBtn: 'Glitch Animatie',
|
|
95
|
+
chaosBtn: 'Willekeurige Chaos',
|
|
96
|
+
downloadPngBtn: 'PNG Downloaden',
|
|
97
|
+
downloadGifBtn: 'GIF Downloaden',
|
|
98
|
+
undoBtn: 'Ongedaan maken',
|
|
99
|
+
redoBtn: 'Opnieuw uitvoeren',
|
|
100
|
+
footerText: 'Maak gecorrumpeerde digitale kunst in minder dan 30 seconden',
|
|
101
|
+
faqTitle: 'FAQ',
|
|
102
|
+
bibliographyTitle: 'Referenties'
|
|
103
|
+
},
|
|
104
|
+
seo: [
|
|
105
|
+
{ type: 'title', text: 'Wat is Glitch-Art?', level: 2 },
|
|
106
|
+
{ type: 'paragraph', html: '<strong>Glitch-art</strong> is een creatieve praktijk die opzettelijk gebruik maakt van digitale fouten, gecorrumpeerde gegevens en visuele artefacten om esthetische resultaten te produceren. In tegenstelling tot traditionele kunst die perfectie nastreeft, viert glitch de onverwachte schoonheid van technologische defecten - gefragmenteerde kleuren en chaotische patronen die voortkomen uit fouten.' },
|
|
107
|
+
{ type: 'title', text: 'Oorsprong en Digitale Esthetiek', level: 3 },
|
|
108
|
+
{ type: 'paragraph', html: 'De glitch-esthetiek ontstond begin jaren 2000, toen digitale kunstenaars begonnen te experimenteren met gecorrumpeerde bestanden en hardwarefouten. Kunstenaars als <strong>Rosa Menkman</strong> verhieven glitch-art tot beeldende kunst door de poëzie van digitale artefacten te onderzoeken. De esthetiek put uit VHS-degradatie, transmissiefouten en de zichtbare "ruis" van digitale systemen.' },
|
|
109
|
+
{ type: 'title', text: 'Belangrijke Glitch-technieken', level: 3 },
|
|
110
|
+
{ type: 'list', items: [
|
|
111
|
+
'<strong>RGB Splitting:</strong> De rode, groene en blauwe kleurkanalen verschuiven om chromatische aberratie te creëren.',
|
|
112
|
+
'<strong>Scanlines:</strong> Horizontale lijnen simuleren om oude CRT-monitoren na te bootsen voor een retro effect.',
|
|
113
|
+
'<strong>Pixel Sorting:</strong> Pixels sorteren op helderheid en verschuiven om een "smeltend" effect te creëren.',
|
|
114
|
+
'<strong>Data Moshing:</strong> Videocodec-gegevens manipuleren om frames op onverwachte manieren te mengen.',
|
|
115
|
+
'<strong>Bit Shifting:</strong> Directe aanpassing van binaire gegevens resulteert in dramatische kleurverschuivingen.',
|
|
116
|
+
]},
|
|
117
|
+
{ type: 'tip', title: 'De Filosofie Achter Glitch', html: 'Glitch-art daagt het idee van een "perfecte" digitale weergave uit. Door fouten te omarmen, stellen we de betrouwbaarheid van technologie ter discussie en verkennen we hoe technologie onze perceptie van de werkelijkheid beïnvloedt. Het is kunst over systeemfalen en de verborgen schoonheid in chaos.' },
|
|
118
|
+
{ type: 'title', text: 'Hedendaagse Toepassingen', level: 3 },
|
|
119
|
+
{ type: 'paragraph', html: 'Tegenwoordig is glitch-esthetiek overal: albumhoezen, videoclips, mode en grafisch ontwerp. Deze tool democratiseert het maken van glitch-art, waardoor iedereen professioneel ogende digitale corruptie kan genereren zonder diepe technische kennis.' },
|
|
120
|
+
{ type: 'stats', items: [
|
|
121
|
+
{ value: '2000s', label: 'Ontstaan van glitch-art', icon: 'mdi:history' },
|
|
122
|
+
{ value: '∞', label: 'Mogelijke combinaties', icon: 'mdi:shuffle-variant' },
|
|
123
|
+
{ value: '<30s', label: 'Tijd om te maken', icon: 'mdi:flash' },
|
|
124
|
+
{ value: '3+', label: 'Exportformaten', icon: 'mdi:download-multiple' },
|
|
125
|
+
], columns: 4 },
|
|
126
|
+
],
|
|
127
|
+
faq,
|
|
128
|
+
bibliography,
|
|
129
|
+
howTo,
|
|
130
|
+
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
131
|
+
};
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import { bibliography } from '../bibliography';
|
|
3
|
+
import type { GlitchImageDistorterLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'deformator-obrazow-glitch';
|
|
6
|
+
const title = 'Deformator Obrazów Glitch';
|
|
7
|
+
const description = 'Przekształć zdjęcia w glitch art dzięki separacji RGB, liniom skanowania, sortowaniu pikseli i animowanym zniekształceniom. Bez Photoshopa.';
|
|
8
|
+
|
|
9
|
+
const faq: GlitchImageDistorterLocaleContent['faq'] = [
|
|
10
|
+
{
|
|
11
|
+
question: 'Co to jest glitch art?',
|
|
12
|
+
answer: 'Glitch art to forma sztuki cyfrowej powstała poprzez manipulowanie obrazami lub danymi w celu uzyskania zamierzonych błędów wizualnych. Te "glitche" skutkują pofragmentowanymi kolorami, zniekształconymi kształtami i nieprzewidywalnymi wzorami, które tworzą estetykę cyfrowej korupcji i chaosu.',
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
question: 'Czy mogę używać własnych zdjęć?',
|
|
16
|
+
answer: 'Tak! Możesz przesłać dowolny obraz PNG, JPG lub WebP, przeciągnąć go na płótno lub wkleić bezpośrednio ze schowka za pomocą Ctrl+V. Możesz także skorzystać z obrazu przykładowego.',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
question: 'Co robią poszczególne efekty zniekształceń?',
|
|
20
|
+
answer: 'Korupcja rozdziela kanały RGB dla efektu aberracji chromatycznej. Interferencja dodaje linie skanowania przypominające stare monitory z opcjonalnym drżeniem. Sortowanie pikseli sprawia, że jasne piksele "spływają" w wybranym kierunku. Szum statyczny dodaje klasyczny śnieg telewizyjny.',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
question: 'Czy mogę animować efekt glitch?',
|
|
24
|
+
answer: 'Oczywiście! Tryb "Animacja Glitch" nakłada mikro-losowe ruchy na parametry, tworząc wibrujący, żywy efekt, który zapętla się w nieskończoność. Możesz to wyeksportować jako animowany GIF lub WebP.',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
question: 'Jakie formaty mogę eksportować?',
|
|
28
|
+
answer: 'Możesz pobrać wysokiej jakości plik PNG dla obrazów statycznych lub wyeksportować jako animowany GIF lub WebP, jeśli włączyłeś tryb animacji. Idealne na Instagram, Discord i inne platformy.',
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
question: 'Do czego służy przycisk Chaos?',
|
|
32
|
+
answer: 'Przycisk "Losowy Chaos" natychmiast zmienia wszystkie wartości suwaków, generując nieoczekiwane i często zaskakujące kombinacje glitchy. To doskonałe narzędzie do odkrywania potencjału kreatywnego bez ręcznych ustawień.',
|
|
33
|
+
},
|
|
34
|
+
];
|
|
35
|
+
|
|
36
|
+
const howTo: GlitchImageDistorterLocaleContent['howTo'] = [
|
|
37
|
+
{ name: 'Załaduj obraz', text: 'Przeciągnij obraz na płótno, wklej za pomocą Ctrl+V, prześlij z urządzenia lub kliknij "Użyj obrazu przykładowego".' },
|
|
38
|
+
{ name: 'Dostosuj suwaki', text: 'Użyj suwaków Korupcji, Interferencji, Sortowania pikseli i Szumu, aby zastosować efekty. Podgląd aktualizuje się w czasie rzeczywistym.' },
|
|
39
|
+
{ name: 'Włącz animację', text: 'Kliknij przycisk "Animacja Glitch", aby dodać wibracje i migotanie. Obraz ożyje dzięki dynamicznemu efektowi glitch.' },
|
|
40
|
+
{ name: 'Eksportuj dzieło', text: 'Pobierz jako PNG dla sztuki statycznej lub wyeksportuj jako GIF/WebP, jeśli animacja jest aktywna. Podziel się swoją twórczością w mediach społecznościowych!' },
|
|
41
|
+
{ name: 'Eksperymentuj z Chaosem', text: 'Kliknij przycisk "Losowy Chaos", aby automatycznie odkryć zaskakujące kombinacje efektów.' },
|
|
42
|
+
];
|
|
43
|
+
|
|
44
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
45
|
+
'@context': 'https://schema.org',
|
|
46
|
+
'@type': 'FAQPage',
|
|
47
|
+
mainEntity: faq.map((item) => ({
|
|
48
|
+
'@type': 'Question',
|
|
49
|
+
name: item.question,
|
|
50
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
51
|
+
})),
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
const howToSchema: WithContext<HowTo> = {
|
|
55
|
+
'@context': 'https://schema.org',
|
|
56
|
+
'@type': 'HowTo',
|
|
57
|
+
name: title,
|
|
58
|
+
description,
|
|
59
|
+
step: howTo.map((step) => ({
|
|
60
|
+
'@type': 'HowToStep',
|
|
61
|
+
name: step.name,
|
|
62
|
+
text: step.text,
|
|
63
|
+
})),
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
67
|
+
'@context': 'https://schema.org',
|
|
68
|
+
'@type': 'SoftwareApplication',
|
|
69
|
+
name: title,
|
|
70
|
+
description,
|
|
71
|
+
applicationCategory: 'UtilitiesApplication',
|
|
72
|
+
operatingSystem: 'Web',
|
|
73
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
74
|
+
inLanguage: 'pl',
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
export const content: GlitchImageDistorterLocaleContent = {
|
|
78
|
+
slug,
|
|
79
|
+
title,
|
|
80
|
+
description,
|
|
81
|
+
faqTitle: 'Często Zadawane Pytania',
|
|
82
|
+
ui: {
|
|
83
|
+
title: 'Glitch Distorter',
|
|
84
|
+
description: 'Twórz glitch art w kilka sekund.',
|
|
85
|
+
dragDropText: 'Przeciągnij obraz tutaj lub kliknij, aby przesłać',
|
|
86
|
+
pasteHint: 'Wskazówka: Możesz też wkleić obraz za pomocą Ctrl+V',
|
|
87
|
+
exampleImageBtn: 'Użyj obrazu przykładowego',
|
|
88
|
+
corruptionLabel: 'Korupcja (Separacja RGB)',
|
|
89
|
+
interferenceLabel: 'Interferencja (Linie)',
|
|
90
|
+
tremorLabel: 'Drżenie',
|
|
91
|
+
pixelSortLabel: 'Sortowanie Pikseli',
|
|
92
|
+
pixelSortDirectionLabel: 'Kierunek',
|
|
93
|
+
noiseLabel: 'Szum Statyczny',
|
|
94
|
+
animateBtn: 'Animacja Glitch',
|
|
95
|
+
chaosBtn: 'Losowy Chaos',
|
|
96
|
+
downloadPngBtn: 'Pobierz PNG',
|
|
97
|
+
downloadGifBtn: 'Pobierz GIF',
|
|
98
|
+
undoBtn: 'Cofnij',
|
|
99
|
+
redoBtn: 'Ponów',
|
|
100
|
+
footerText: 'Twórz uszkodzoną sztukę cyfrową w mniej niż 30 sekund',
|
|
101
|
+
faqTitle: 'FAQ',
|
|
102
|
+
bibliographyTitle: 'Referencje'
|
|
103
|
+
},
|
|
104
|
+
seo: [
|
|
105
|
+
{ type: 'title', text: 'Co to jest Glitch Art?', level: 2 },
|
|
106
|
+
{ type: 'paragraph', html: '<strong>Glitch art</strong> to praktyka kreatywna celowo wykorzystująca błędy cyfrowe, uszkodzone dane i artefakty wizualne do tworzenia efektów estetycznych. W przeciwieństwie do tradycyjnej sztuki dążącej do perfekcji, glitch celebruje nieoczekiwane piękno technologicznej awarii - pofragmentowane kolory i chaotyczne wzory wyłaniające się z błędu.' },
|
|
107
|
+
{ type: 'title', text: 'Pochodzenie i Estetyka Cyfrowa', level: 3 },
|
|
108
|
+
{ type: 'paragraph', html: 'Estetyka glitch wyłoniła się na początku XXI wieku, gdy artyści cyfrowi zaczęli eksperymentować z uszkodzonymi plikami i awariami sprzętu. Artyści tacy jak <strong>Rosa Menkman</strong> podnieśli glitch do rangi sztuki pięknej, badając poetykę cyfrowych artefaktów. Estetyka czerpie z degradacji kaset VHS, błędów transmisji i widocznego "szumu" systemów cyfrowych.' },
|
|
109
|
+
{ type: 'title', text: 'Kluczowe Techniki Glitch', level: 3 },
|
|
110
|
+
{ type: 'list', items: [
|
|
111
|
+
'<strong>Separacja RGB:</strong> Przesunięcie kanałów czerwonego, zielonego i niebieskiego w celu uzyskania aberracji chromatycznej.',
|
|
112
|
+
'<strong>Linie skanowania:</strong> Symulacja poziomych linii starych monitorów CRT dla efektu retro.',
|
|
113
|
+
'<strong>Sortowanie pikseli:</strong> Porządkowanie pikseli według jasności i ich przesuwanie, co daje efekt "topnienia".',
|
|
114
|
+
'<strong>Data Moshing:</strong> Manipulowanie danymi kodeków wideo w celu nieoczekiwanego mieszania klatek.',
|
|
115
|
+
'<strong>Bit Shifting:</strong> Bezpośrednia zmiana danych binarnych skutkująca dramatycznymi zmianami kolorów.',
|
|
116
|
+
]},
|
|
117
|
+
{ type: 'tip', title: 'Filozofia Glitcha', html: 'Glitch art rzuca wyzwanie idei "idealnej" reprezentacji cyfrowej. Akceptując błąd, kwestionujemy niezawodność technologii i badamy, jak pośredniczy ona w naszym postrzeganiu rzeczywistości. To sztuka o awarii systemu i pięknie ukrytym w chaosie.' },
|
|
118
|
+
{ type: 'title', text: 'Współczesne Zastosowania', level: 3 },
|
|
119
|
+
{ type: 'paragraph', html: 'Dziś estetyka glitch jest wszędzie: na okładkach płyt, w teledyskach, modzie i projektowaniu graficznym. To narzędzie demokratyzuje tworzenie tego stylu, pozwalając każdemu generować profesjonalne efekty cyfrowej korupcji bez głębokiej wiedzy technicznej.' },
|
|
120
|
+
{ type: 'stats', items: [
|
|
121
|
+
{ value: '2000s', label: 'Pojawienie się glitch artu', icon: 'mdi:history' },
|
|
122
|
+
{ value: '∞', label: 'Możliwe kombinacje', icon: 'mdi:shuffle-variant' },
|
|
123
|
+
{ value: '<30s', label: 'Czas tworzenia', icon: 'mdi:flash' },
|
|
124
|
+
{ value: '3+', label: 'Formaty eksportu', icon: 'mdi:download-multiple' },
|
|
125
|
+
], columns: 4 },
|
|
126
|
+
],
|
|
127
|
+
faq,
|
|
128
|
+
bibliography,
|
|
129
|
+
howTo,
|
|
130
|
+
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
131
|
+
};
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import { bibliography } from '../bibliography';
|
|
3
|
+
import type { GlitchImageDistorterLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'distorcedor-imagens-glitch';
|
|
6
|
+
const title = 'Distorcedor de Imagens Glitch';
|
|
7
|
+
const description = 'Transforme suas fotos em arte glitch com separações RGB, linhas de varredura, pixel sorting e distorções animadas. Sem Photoshop.';
|
|
8
|
+
|
|
9
|
+
const faq: GlitchImageDistorterLocaleContent['faq'] = [
|
|
10
|
+
{
|
|
11
|
+
question: 'O que é arte glitch?',
|
|
12
|
+
answer: 'A arte glitch é uma forma de expressão digital que consiste em manipular imagens ou dados para produzir erros visuais intencionais. Estes "glitches" geram cores fragmentadas, formas distorcidas e padrões imprevisíveis que criam uma estética de corrupção digital e caos.',
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
question: 'Posso usar minhas próprias imagens?',
|
|
16
|
+
answer: 'Sim! Você pode fazer upload de qualquer imagem PNG, JPG ou WebP, arrastá-la para a tela ou colá-la diretamente da área de transferência usando Ctrl+V. Também pode usar a imagem de exemplo.',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
question: 'O que fazem os diferentes efeitos de distorção?',
|
|
20
|
+
answer: 'A Corrupção separa os canais RGB para um efeito de aberração cromática. A Interferência adiciona linhas de varredura semelhantes a monitores antigos com tremor opcional. O Pixel Sorting faz com que os píxeis brilhantes "escorram" numa direção. O Ruído Estático adiciona a clássica neve de TV.',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
question: 'Posso animar o efeito glitch?',
|
|
24
|
+
answer: 'Com certeza! O modo "Animação Glitch" aplica micro-movimentos aleatórios aos parâmetros, criando um efeito vibrante e dinâmico que se repete continuamente. Pode exportá-lo como um GIF animado ou WebP.',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
question: 'Quais formatos posso exportar?',
|
|
28
|
+
answer: 'Pode descarregar um PNG de alta qualidade para imagens estáticas, ou exportar como GIF ou WebP animado se ativou o modo de animação. Perfeito para o Instagram, Discord e outras plataformas.',
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
question: 'Para que serve o botão Caos?',
|
|
32
|
+
answer: 'O botão "Caos Aleatório" muda instantaneamente todos os valores dos controlos, gerando combinações de glitch inesperadas e surpreendentes. É ideal para explorar o potencial criativo da ferramenta sem ajustes manuais.',
|
|
33
|
+
},
|
|
34
|
+
];
|
|
35
|
+
|
|
36
|
+
const howTo: GlitchImageDistorterLocaleContent['howTo'] = [
|
|
37
|
+
{ name: 'Carregar uma imagem', text: 'Arraste uma imagem, cole com Ctrl+V, faça upload do seu dispositivo ou use a imagem de exemplo para começar.' },
|
|
38
|
+
{ name: 'Ajustar os controlos', text: 'Use os controlos de Corrupção, Interferência, Pixel Sorting e Ruído para aplicar efeitos. A pré-visualização atualiza-se em tempo real.' },
|
|
39
|
+
{ name: 'Ativar a animação', text: 'Clique no botão "Animação Glitch" para adicionar vibrações e cintilações aleatórias. A imagem ganhará vida com um efeito dinâmico.' },
|
|
40
|
+
{ name: 'Exportar a criação', text: 'Descarregue como PNG para arte estática ou exporte como GIF/WebP se ativou a animação. Partilhe a sua arte glitch nas redes sociais!' },
|
|
41
|
+
{ name: 'Experimentar com o Caos', text: 'Clique no botão "Caos Aleatório" para descobrir automaticamente combinações de efeitos surpreendentes.' },
|
|
42
|
+
];
|
|
43
|
+
|
|
44
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
45
|
+
'@context': 'https://schema.org',
|
|
46
|
+
'@type': 'FAQPage',
|
|
47
|
+
mainEntity: faq.map((item) => ({
|
|
48
|
+
'@type': 'Question',
|
|
49
|
+
name: item.question,
|
|
50
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
51
|
+
})),
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
const howToSchema: WithContext<HowTo> = {
|
|
55
|
+
'@context': 'https://schema.org',
|
|
56
|
+
'@type': 'HowTo',
|
|
57
|
+
name: title,
|
|
58
|
+
description,
|
|
59
|
+
step: howTo.map((step) => ({
|
|
60
|
+
'@type': 'HowToStep',
|
|
61
|
+
name: step.name,
|
|
62
|
+
text: step.text,
|
|
63
|
+
})),
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
67
|
+
'@context': 'https://schema.org',
|
|
68
|
+
'@type': 'SoftwareApplication',
|
|
69
|
+
name: title,
|
|
70
|
+
description,
|
|
71
|
+
applicationCategory: 'UtilitiesApplication',
|
|
72
|
+
operatingSystem: 'Web',
|
|
73
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
74
|
+
inLanguage: 'pt',
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
export const content: GlitchImageDistorterLocaleContent = {
|
|
78
|
+
slug,
|
|
79
|
+
title,
|
|
80
|
+
description,
|
|
81
|
+
faqTitle: 'Perguntas Frequentes',
|
|
82
|
+
ui: {
|
|
83
|
+
title: 'Glitch Distorter',
|
|
84
|
+
description: 'Crie arte glitch em segundos.',
|
|
85
|
+
dragDropText: 'Arraste uma imagem aqui ou clique para carregar',
|
|
86
|
+
pasteHint: 'Dica: Também pode colar uma imagem com Ctrl+V',
|
|
87
|
+
exampleImageBtn: 'Usar imagem de exemplo',
|
|
88
|
+
corruptionLabel: 'Corrupção (Separação RGB)',
|
|
89
|
+
interferenceLabel: 'Interferência (Linhas)',
|
|
90
|
+
tremorLabel: 'Tremor',
|
|
91
|
+
pixelSortLabel: 'Pixel Sorting',
|
|
92
|
+
pixelSortDirectionLabel: 'Direção',
|
|
93
|
+
noiseLabel: 'Ruído Estático',
|
|
94
|
+
animateBtn: 'Animação Glitch',
|
|
95
|
+
chaosBtn: 'Caos Aleatório',
|
|
96
|
+
downloadPngBtn: 'Descarregar PNG',
|
|
97
|
+
downloadGifBtn: 'Descarregar GIF',
|
|
98
|
+
undoBtn: 'Desfazer',
|
|
99
|
+
redoBtn: 'Refazer',
|
|
100
|
+
footerText: 'Crie arte digital corrompida em menos de 30 segundos',
|
|
101
|
+
faqTitle: 'FAQ',
|
|
102
|
+
bibliographyTitle: 'Referências'
|
|
103
|
+
},
|
|
104
|
+
seo: [
|
|
105
|
+
{ type: 'title', text: 'O que é Arte Glitch?', level: 2 },
|
|
106
|
+
{ type: 'paragraph', html: 'A <strong>arte glitch</strong> é uma prática criativa que explora intencionalmente erros digitais, dados corrompidos e artefactos visuais para produzir resultados estéticos. Ao contrário da arte tradicional, que procura a perfeição, o glitch celebra a beleza inesperada da falha tecnológica - cores fragmentadas e padrões caóticos que surgem do erro.' },
|
|
107
|
+
{ type: 'title', text: 'Origens e Estética Digital', level: 3 },
|
|
108
|
+
{ type: 'paragraph', html: 'Esta estética surgiu no início dos anos 2000, quando artistas digitais começaram a experimentar com ficheiros corrompidos e falhas de hardware. Artistas como <strong>Rosa Menkman</strong> elevaram o glitch à categoria de arte ao investigar a poética dos artefactos digitais. A estética nutre-se da degradação do VHS, dos erros de transmissão e do "ruído" dos sistemas digitais.' },
|
|
109
|
+
{ type: 'title', text: 'Técnicas Chave de Glitch', level: 3 },
|
|
110
|
+
{ type: 'list', items: [
|
|
111
|
+
'<strong>Separação RGB:</strong> Desfasar os canais vermelho, verde e azul para criar aberração cromática.',
|
|
112
|
+
'<strong>Linhas de Varredura:</strong> Simular as linhas horizontais dos antigos monitores CRT para um toque retro.',
|
|
113
|
+
'<strong>Pixel Sorting:</strong> Ordenar píxeis por brilho e deslocá-los para criar um efeito de "derretimento".',
|
|
114
|
+
'<strong>Data Moshing:</strong> Manipular dados de codecs de vídeo para misturar fotogramas de forma inesperada.',
|
|
115
|
+
'<strong>Bit Shifting:</strong> Alterar dados binários diretamente para obter distorções geométricas dramáticas.',
|
|
116
|
+
]},
|
|
117
|
+
{ type: 'tip', title: 'A Filosofia do Glitch', html: 'A arte glitch desafia a ideia da representação digital "perfeita". Ao abraçar o erro, questionamos a fiabilidade da tecnologia e exploramos como esta media a nossa perceção da realidade. É arte sobre a falha do sistema e a beleza oculta no caos.' },
|
|
118
|
+
{ type: 'title', text: 'Aplicações Contemporâneas', level: 3 },
|
|
119
|
+
{ type: 'paragraph', html: 'Hoje em dia, a estética glitch está em todo o lado: capas de discos, videoclipes, moda e design gráfico. Esta ferramenta democratiza a criação deste estilo, permitindo que qualquer pessoa gere peças profissionais de corrupção digital sem conhecimentos técnicos profundos.' },
|
|
120
|
+
{ type: 'stats', items: [
|
|
121
|
+
{ value: '2000s', label: 'Aparição da arte glitch', icon: 'mdi:history' },
|
|
122
|
+
{ value: '∞', label: 'Combinações possíveis', icon: 'mdi:shuffle-variant' },
|
|
123
|
+
{ value: '<30s', label: 'Tempo de criação', icon: 'mdi:flash' },
|
|
124
|
+
{ value: '3+', label: 'Formatos de exportação', icon: 'mdi:download-multiple' },
|
|
125
|
+
], columns: 4 },
|
|
126
|
+
],
|
|
127
|
+
faq,
|
|
128
|
+
bibliography,
|
|
129
|
+
howTo,
|
|
130
|
+
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
131
|
+
};
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import { bibliography } from '../bibliography';
|
|
3
|
+
import type { GlitchImageDistorterLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'generator-glitch-art-iz-foto';
|
|
6
|
+
const title = 'Генератор Глитч Арта';
|
|
7
|
+
const description = 'Превращайте изображения в глитч-арт с помощью RGB-сдвигов, сканирующих линий, сортировки пикселей и анимации. Без Photoshop.';
|
|
8
|
+
|
|
9
|
+
const faq: GlitchImageDistorterLocaleContent['faq'] = [
|
|
10
|
+
{
|
|
11
|
+
question: 'Что такое глитч-арт?',
|
|
12
|
+
answer: 'Глитч-арт - это вид цифрового искусства, создаваемый путем манипулирования цифровыми изображениями или данными для получения намеренных визуальных ошибок. Эти \"глитчи\" приводят к фрагментации цветов, искажению форм и непредсказуемым паттернам, создавая эстетику цифрового разрушения и хаоса.',
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
question: 'Можно ли использовать свои изображения?',
|
|
16
|
+
answer: 'Да! Вы можете загрузить любое изображение PNG, JPG или WebP, перетащить его на холст или вставить напрямую из буфера обмена с помощью Ctrl+V. Также доступно тестовое изображение.',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
question: 'Что делают различные эффекты искажения?',
|
|
20
|
+
answer: 'Corruption разделяет RGB-каналы для эффекта хроматической аберрации. Interference добавляет сканирующие линии, как на старых мониторах, с опциональным дрожанием. Pixel Sorting заставляет яркие пиксели \"стекать\" в выбранном направлении. Static Noise накладывает классический телевизионный \"снег\".',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
question: 'Можно ли анимировать глитч-эффект?',
|
|
24
|
+
answer: 'Конечно! Режим \"Glitch Animate\" применяет микро-случайные изменения параметров, создавая живой, мерцающий эффект, который зацикливается. Вы можете экспортировать результат в формате GIF или WebP.',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
question: 'В каких форматах можно сохранить результат?',
|
|
28
|
+
answer: 'Вы можете скачать качественный PNG для статических работ или экспортировать анимированный GIF/WebP, если включен режим анимации. Идеально для Instagram, Discord и других платформ.',
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
question: 'Для чего нужна кнопка Chaos?',
|
|
32
|
+
answer: 'Кнопка \"Chaos Random\" мгновенно рандомизирует все значения ползунков, создавая неожиданные и часто удивительные комбинации глитчей. Это отличный способ исследовать творческий потенциал инструмента без ручной настройки.',
|
|
33
|
+
},
|
|
34
|
+
];
|
|
35
|
+
|
|
36
|
+
const howTo: GlitchImageDistorterLocaleContent['howTo'] = [
|
|
37
|
+
{ name: 'Загрузите изображение', text: 'Перетащите изображение на холст, вставьте через Ctrl+V, загрузите файл с устройства или нажмите \"Использовать пример\".' },
|
|
38
|
+
{ name: 'Настройте ползунки', text: 'Используйте настройки Corruption, Interference, Pixel Sort и Noise для применения различных эффектов. Предпросмотр обновляется в реальном времени.' },
|
|
39
|
+
{ name: 'Включите анимацию', text: 'Нажмите кнопку \"Glitch Animate\", чтобы добавить вибрации и мерцание. Изображение оживет благодаря динамическому глитч-эффекту.' },
|
|
40
|
+
{ name: 'Экспортируйте работу', text: 'Скачайте PNG для статики или экспортируйте в GIF/WebP, если включена анимация. Делитесь своим глитч-артом в соцсетях!' },
|
|
41
|
+
{ name: 'Экспериментируйте с Chaos', text: 'Нажмите кнопку \"Chaos Random\", чтобы автоматически открыть для себя неожиданные комбинации эффектов.' },
|
|
42
|
+
];
|
|
43
|
+
|
|
44
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
45
|
+
'@context': 'https://schema.org',
|
|
46
|
+
'@type': 'FAQPage',
|
|
47
|
+
mainEntity: faq.map((item) => ({
|
|
48
|
+
'@type': 'Question',
|
|
49
|
+
name: item.question,
|
|
50
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
51
|
+
})),
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
const howToSchema: WithContext<HowTo> = {
|
|
55
|
+
'@context': 'https://schema.org',
|
|
56
|
+
'@type': 'HowTo',
|
|
57
|
+
name: title,
|
|
58
|
+
description,
|
|
59
|
+
step: howTo.map((step) => ({
|
|
60
|
+
'@type': 'HowToStep',
|
|
61
|
+
name: step.name,
|
|
62
|
+
text: step.text,
|
|
63
|
+
})),
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
67
|
+
'@context': 'https://schema.org',
|
|
68
|
+
'@type': 'SoftwareApplication',
|
|
69
|
+
name: title,
|
|
70
|
+
description,
|
|
71
|
+
applicationCategory: 'UtilitiesApplication',
|
|
72
|
+
operatingSystem: 'Web',
|
|
73
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
74
|
+
inLanguage: 'ru',
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
export const content: GlitchImageDistorterLocaleContent = {
|
|
78
|
+
slug,
|
|
79
|
+
title,
|
|
80
|
+
description,
|
|
81
|
+
faqTitle: 'Часто задаваемые вопросы',
|
|
82
|
+
ui: {
|
|
83
|
+
title: 'Глитч генератор',
|
|
84
|
+
description: 'Создавайте глитч-арт за секунды.',
|
|
85
|
+
dragDropText: 'Перетащите сюда фото или нажмите для загрузки',
|
|
86
|
+
pasteHint: 'Совет: Вы также можете вставить фото через Ctrl+V',
|
|
87
|
+
exampleImageBtn: 'Использовать пример',
|
|
88
|
+
corruptionLabel: 'Коррупция (RGB-сдвиг)',
|
|
89
|
+
interferenceLabel: 'Интерференция (Линии)',
|
|
90
|
+
tremorLabel: 'Дрожание',
|
|
91
|
+
pixelSortLabel: 'Сортировка пикселей',
|
|
92
|
+
pixelSortDirectionLabel: 'Направление',
|
|
93
|
+
noiseLabel: 'Статический шум',
|
|
94
|
+
animateBtn: 'Глитч-анимация',
|
|
95
|
+
chaosBtn: 'Случайный хаос',
|
|
96
|
+
downloadPngBtn: 'Скачать PNG',
|
|
97
|
+
downloadGifBtn: 'Скачать GIF',
|
|
98
|
+
undoBtn: 'Отменить',
|
|
99
|
+
redoBtn: 'Вернуть',
|
|
100
|
+
footerText: 'Создавайте цифровое искусство с ошибками менее чем за 30 секунд',
|
|
101
|
+
faqTitle: 'FAQ',
|
|
102
|
+
bibliographyTitle: 'Источники'
|
|
103
|
+
},
|
|
104
|
+
seo: [
|
|
105
|
+
{ type: 'title', text: 'Что такое глитч-арт?', level: 2 },
|
|
106
|
+
{ type: 'paragraph', html: '<strong>Глитч-арт</strong> - это творческая практика, основанная на намеренном использовании цифровых ошибок, поврежденных данных и визуальных артефактов для достижения эстетического результата. В отличие от традиционного искусства, стремящегося к совершенству, глитч воспевает неожиданную красоту технологического сбоя - фрагментированные цвета и хаотичные паттерны, рожденные ошибкой.' },
|
|
107
|
+
{ type: 'title', text: 'Истоки и цифровая эстетика', level: 3 },
|
|
108
|
+
{ type: 'paragraph', html: 'Эстетика глитча зародилась в начале 2000-х годов, когда цифровые художники начали экспериментировать с поврежденными файлами и аппаратными сбоями. Такие авторы, как <strong>Роза Менкман</strong>, возвели глитч в ранг высокого искусства, исследуя поэтику цифровых артефактов. Эта эстетика черпает вдохновение в деградации VHS-кассет, ошибках передачи данных и видимом \"шуме\" цифровых систем.' },
|
|
109
|
+
{ type: 'title', text: 'Ключевые техники глитча', level: 3 },
|
|
110
|
+
{ type: 'list', items: [
|
|
111
|
+
'<strong>RGB-сдвиг:</strong> разделение красного, зеленого и синего каналов для создания эффекта хроматической аберрации.',
|
|
112
|
+
'<strong>Сканирующие линии:</strong> имитация горизонтальных линий старых ЭЛТ-мониторов для придания ретро-стиля.',
|
|
113
|
+
'<strong>Сортировка пикселей:</strong> упорядочивание пикселей по яркости и их смещение, создающее эффект \"плавления\".',
|
|
114
|
+
'<strong>Датамошинг:</strong> манипуляция данными видеокодеков для неожиданного смешивания кадров.',
|
|
115
|
+
'<strong>Битовый сдвиг:</strong> прямое изменение бинарных данных, приводящее к драматическим искажениям форм и цветов.',
|
|
116
|
+
]},
|
|
117
|
+
{ type: 'tip', title: 'Философия глитча', html: 'Глитч-арт бросает вызов идее \"идеального\" цифрового представления. Принимая ошибку, мы ставим под сомнение надежность технологий и исследуем, как они опосредуют наше восприятие реальности. Это искусство о системных сбоях, человеческой несовершенности и красоте, скрытой в хаосе.' },
|
|
118
|
+
{ type: 'title', text: 'Современное применение', level: 3 },
|
|
119
|
+
{ type: 'paragraph', html: 'Сегодня эстетика глитча повсеместна: обложки альбомов, клипы, мода и графический дизайн. Этот инструмент демократизирует создание глитч-арта, позволяя любому человеку создавать профессионально выглядящие цифровые искажения без глубоких технических знаний.' },
|
|
120
|
+
{ type: 'stats', items: [
|
|
121
|
+
{ value: '2000-е', label: 'Появление глитч-арта', icon: 'mdi:history' },
|
|
122
|
+
{ value: '∞', label: 'Возможных комбинаций', icon: 'mdi:shuffle-variant' },
|
|
123
|
+
{ value: '<30с', label: 'Время создания', icon: 'mdi:flash' },
|
|
124
|
+
{ value: '3+', label: 'Формата экспорта', icon: 'mdi:download-multiple' },
|
|
125
|
+
], columns: 4 },
|
|
126
|
+
],
|
|
127
|
+
faq,
|
|
128
|
+
bibliography,
|
|
129
|
+
howTo,
|
|
130
|
+
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
131
|
+
};
|