@jjlmoya/utils-audiovisual 1.7.0 → 1.8.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.
Files changed (151) hide show
  1. package/package.json +2 -1
  2. package/src/category/i18n/de.ts +198 -0
  3. package/src/category/i18n/id.ts +198 -0
  4. package/src/category/i18n/it.ts +198 -0
  5. package/src/category/i18n/ja.ts +198 -0
  6. package/src/category/i18n/ko.ts +198 -0
  7. package/src/category/i18n/nl.ts +198 -0
  8. package/src/category/i18n/pl.ts +198 -0
  9. package/src/category/i18n/pt.ts +198 -0
  10. package/src/category/i18n/ru.ts +198 -0
  11. package/src/category/i18n/sv.ts +198 -0
  12. package/src/category/i18n/tr.ts +198 -0
  13. package/src/category/i18n/zh.ts +198 -0
  14. package/src/category/index.ts +31 -3
  15. package/src/tests/i18n_coverage.test.ts +36 -0
  16. package/src/tool/chromaticLens/i18n/de.ts +246 -0
  17. package/src/tool/chromaticLens/i18n/id.ts +246 -0
  18. package/src/tool/chromaticLens/i18n/it.ts +246 -0
  19. package/src/tool/chromaticLens/i18n/ja.ts +246 -0
  20. package/src/tool/chromaticLens/i18n/ko.ts +246 -0
  21. package/src/tool/chromaticLens/i18n/nl.ts +246 -0
  22. package/src/tool/chromaticLens/i18n/pl.ts +246 -0
  23. package/src/tool/chromaticLens/i18n/pt.ts +246 -0
  24. package/src/tool/chromaticLens/i18n/ru.ts +246 -0
  25. package/src/tool/chromaticLens/i18n/sv.ts +246 -0
  26. package/src/tool/chromaticLens/i18n/tr.ts +246 -0
  27. package/src/tool/chromaticLens/i18n/zh.ts +246 -0
  28. package/src/tool/chromaticLens/index.ts +15 -7
  29. package/src/tool/collageMaker/i18n/de.ts +233 -0
  30. package/src/tool/collageMaker/i18n/id.ts +233 -0
  31. package/src/tool/collageMaker/i18n/it.ts +233 -0
  32. package/src/tool/collageMaker/i18n/ja.ts +233 -0
  33. package/src/tool/collageMaker/i18n/ko.ts +233 -0
  34. package/src/tool/collageMaker/i18n/nl.ts +233 -0
  35. package/src/tool/collageMaker/i18n/pl.ts +233 -0
  36. package/src/tool/collageMaker/i18n/pt.ts +233 -0
  37. package/src/tool/collageMaker/i18n/ru.ts +233 -0
  38. package/src/tool/collageMaker/i18n/sv.ts +233 -0
  39. package/src/tool/collageMaker/i18n/tr.ts +233 -0
  40. package/src/tool/collageMaker/i18n/zh.ts +233 -0
  41. package/src/tool/collageMaker/index.ts +15 -6
  42. package/src/tool/exifCleaner/i18n/de.ts +277 -0
  43. package/src/tool/exifCleaner/i18n/fr.ts +1 -1
  44. package/src/tool/exifCleaner/i18n/id.ts +277 -0
  45. package/src/tool/exifCleaner/i18n/it.ts +277 -0
  46. package/src/tool/exifCleaner/i18n/ja.ts +277 -0
  47. package/src/tool/exifCleaner/i18n/ko.ts +277 -0
  48. package/src/tool/exifCleaner/i18n/nl.ts +277 -0
  49. package/src/tool/exifCleaner/i18n/pl.ts +277 -0
  50. package/src/tool/exifCleaner/i18n/pt.ts +277 -0
  51. package/src/tool/exifCleaner/i18n/ru.ts +277 -0
  52. package/src/tool/exifCleaner/i18n/sv.ts +277 -0
  53. package/src/tool/exifCleaner/i18n/tr.ts +277 -0
  54. package/src/tool/exifCleaner/i18n/zh.ts +277 -0
  55. package/src/tool/exifCleaner/index.ts +16 -8
  56. package/src/tool/imageCompressor/i18n/de.ts +242 -0
  57. package/src/tool/imageCompressor/i18n/en.ts +1 -1
  58. package/src/tool/imageCompressor/i18n/es.ts +1 -1
  59. package/src/tool/imageCompressor/i18n/id.ts +242 -0
  60. package/src/tool/imageCompressor/i18n/it.ts +242 -0
  61. package/src/tool/imageCompressor/i18n/ja.ts +242 -0
  62. package/src/tool/imageCompressor/i18n/ko.ts +242 -0
  63. package/src/tool/imageCompressor/i18n/nl.ts +242 -0
  64. package/src/tool/imageCompressor/i18n/pl.ts +242 -0
  65. package/src/tool/imageCompressor/i18n/pt.ts +242 -0
  66. package/src/tool/imageCompressor/i18n/ru.ts +242 -0
  67. package/src/tool/imageCompressor/i18n/sv.ts +242 -0
  68. package/src/tool/imageCompressor/i18n/tr.ts +242 -0
  69. package/src/tool/imageCompressor/i18n/zh.ts +244 -0
  70. package/src/tool/imageCompressor/index.ts +15 -7
  71. package/src/tool/printQualityCalculator/i18n/de.ts +261 -0
  72. package/src/tool/printQualityCalculator/i18n/fr.ts +1 -1
  73. package/src/tool/printQualityCalculator/i18n/id.ts +261 -0
  74. package/src/tool/printQualityCalculator/i18n/it.ts +261 -0
  75. package/src/tool/printQualityCalculator/i18n/ja.ts +261 -0
  76. package/src/tool/printQualityCalculator/i18n/ko.ts +261 -0
  77. package/src/tool/printQualityCalculator/i18n/nl.ts +261 -0
  78. package/src/tool/printQualityCalculator/i18n/pl.ts +261 -0
  79. package/src/tool/printQualityCalculator/i18n/pt.ts +261 -0
  80. package/src/tool/printQualityCalculator/i18n/ru.ts +261 -0
  81. package/src/tool/printQualityCalculator/i18n/sv.ts +261 -0
  82. package/src/tool/printQualityCalculator/i18n/tr.ts +261 -0
  83. package/src/tool/printQualityCalculator/i18n/zh.ts +261 -0
  84. package/src/tool/printQualityCalculator/index.ts +15 -7
  85. package/src/tool/privacyBlur/i18n/de.ts +238 -0
  86. package/src/tool/privacyBlur/i18n/id.ts +238 -0
  87. package/src/tool/privacyBlur/i18n/it.ts +238 -0
  88. package/src/tool/privacyBlur/i18n/ja.ts +238 -0
  89. package/src/tool/privacyBlur/i18n/ko.ts +238 -0
  90. package/src/tool/privacyBlur/i18n/nl.ts +238 -0
  91. package/src/tool/privacyBlur/i18n/pl.ts +238 -0
  92. package/src/tool/privacyBlur/i18n/pt.ts +238 -0
  93. package/src/tool/privacyBlur/i18n/ru.ts +238 -0
  94. package/src/tool/privacyBlur/i18n/sv.ts +238 -0
  95. package/src/tool/privacyBlur/i18n/tr.ts +238 -0
  96. package/src/tool/privacyBlur/i18n/zh.ts +238 -0
  97. package/src/tool/privacyBlur/index.ts +15 -7
  98. package/src/tool/subtitleSync/i18n/de.ts +241 -0
  99. package/src/tool/subtitleSync/i18n/fr.ts +5 -5
  100. package/src/tool/subtitleSync/i18n/id.ts +241 -0
  101. package/src/tool/subtitleSync/i18n/it.ts +241 -0
  102. package/src/tool/subtitleSync/i18n/ja.ts +241 -0
  103. package/src/tool/subtitleSync/i18n/ko.ts +241 -0
  104. package/src/tool/subtitleSync/i18n/nl.ts +241 -0
  105. package/src/tool/subtitleSync/i18n/pl.ts +241 -0
  106. package/src/tool/subtitleSync/i18n/pt.ts +241 -0
  107. package/src/tool/subtitleSync/i18n/ru.ts +241 -0
  108. package/src/tool/subtitleSync/i18n/sv.ts +241 -0
  109. package/src/tool/subtitleSync/i18n/tr.ts +241 -0
  110. package/src/tool/subtitleSync/i18n/zh.ts +241 -0
  111. package/src/tool/subtitleSync/index.ts +15 -7
  112. package/src/tool/timelapseCalculator/i18n/de.ts +169 -0
  113. package/src/tool/timelapseCalculator/i18n/fr.ts +2 -2
  114. package/src/tool/timelapseCalculator/i18n/id.ts +169 -0
  115. package/src/tool/timelapseCalculator/i18n/it.ts +169 -0
  116. package/src/tool/timelapseCalculator/i18n/ja.ts +169 -0
  117. package/src/tool/timelapseCalculator/i18n/ko.ts +169 -0
  118. package/src/tool/timelapseCalculator/i18n/nl.ts +169 -0
  119. package/src/tool/timelapseCalculator/i18n/pl.ts +169 -0
  120. package/src/tool/timelapseCalculator/i18n/pt.ts +169 -0
  121. package/src/tool/timelapseCalculator/i18n/ru.ts +169 -0
  122. package/src/tool/timelapseCalculator/i18n/sv.ts +169 -0
  123. package/src/tool/timelapseCalculator/i18n/tr.ts +169 -0
  124. package/src/tool/timelapseCalculator/i18n/zh.ts +169 -0
  125. package/src/tool/timelapseCalculator/index.ts +16 -8
  126. package/src/tool/tvDistance/i18n/de.ts +223 -0
  127. package/src/tool/tvDistance/i18n/id.ts +223 -0
  128. package/src/tool/tvDistance/i18n/it.ts +223 -0
  129. package/src/tool/tvDistance/i18n/ja.ts +223 -0
  130. package/src/tool/tvDistance/i18n/ko.ts +223 -0
  131. package/src/tool/tvDistance/i18n/nl.ts +223 -0
  132. package/src/tool/tvDistance/i18n/pl.ts +223 -0
  133. package/src/tool/tvDistance/i18n/pt.ts +223 -0
  134. package/src/tool/tvDistance/i18n/ru.ts +223 -0
  135. package/src/tool/tvDistance/i18n/sv.ts +223 -0
  136. package/src/tool/tvDistance/i18n/tr.ts +223 -0
  137. package/src/tool/tvDistance/i18n/zh.ts +223 -0
  138. package/src/tool/tvDistance/index.ts +15 -7
  139. package/src/tool/videoFrameExtractor/i18n/de.ts +235 -0
  140. package/src/tool/videoFrameExtractor/i18n/id.ts +235 -0
  141. package/src/tool/videoFrameExtractor/i18n/it.ts +235 -0
  142. package/src/tool/videoFrameExtractor/i18n/ja.ts +235 -0
  143. package/src/tool/videoFrameExtractor/i18n/ko.ts +235 -0
  144. package/src/tool/videoFrameExtractor/i18n/nl.ts +235 -0
  145. package/src/tool/videoFrameExtractor/i18n/pl.ts +235 -0
  146. package/src/tool/videoFrameExtractor/i18n/pt.ts +235 -0
  147. package/src/tool/videoFrameExtractor/i18n/ru.ts +235 -0
  148. package/src/tool/videoFrameExtractor/i18n/sv.ts +235 -0
  149. package/src/tool/videoFrameExtractor/i18n/tr.ts +235 -0
  150. package/src/tool/videoFrameExtractor/i18n/zh.ts +235 -0
  151. package/src/tool/videoFrameExtractor/index.ts +16 -8
@@ -0,0 +1,261 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { PrintQualityCalculatorUI, PrintQualityCalculatorLocaleContent } from '../index';
3
+
4
+ const slug = 'print-quality-calculator-pixels-to-cm-dpi';
5
+ const title = '인쇄 품질 계산기: 픽셀을 CM 및 DPI로 변환';
6
+ const description = '사진의 해상도를 바탕으로 최대 인쇄 크기를 계산합니다. 픽셀을 센티미터와 인치로 변환하여 전문적인 인쇄 품질을 보장하세요.';
7
+
8
+ const ui: PrintQualityCalculatorUI = {
9
+ dropTitle: "해상도 분석",
10
+ dropSubtitle: "이미지를 드래그하여 인쇄 크기를 계산하세요.",
11
+ resultsTitle: "파일 사양",
12
+ dpiDensityLabel: "원하는 인쇄 밀도 (DPI)",
13
+ dpiPointsLabel: "인치당 도트 수",
14
+ maxPrintTitle: "최대 인쇄 크기",
15
+ standardFormatsTitle: "지원되는 표준 형식",
16
+ formatColumn: "형식",
17
+ measureColumn: "치수",
18
+ supportColumn: "지원 여부",
19
+ qualityExcellent: "최상급 품질",
20
+ qualityGood: "우수한 품질",
21
+ qualityFair: "화면용 품질",
22
+ qualityPoor: "적합하지 않음",
23
+ qualityExcellentDesc: "미술 잡지, 사진집 및 근접 감상용으로 이상적입니다.",
24
+ qualityGoodDesc: "포스터 및 중간 거리 감상용으로 충분합니다.",
25
+ qualityFairDesc: "디지털 감상 또는 멀리 떨어진 광고판용으로 적합합니다.",
26
+ qualityPoorDesc: "이미지가 픽셀화되어 보입니다. 인쇄를 권장하지 않습니다.",
27
+ unitCm: "cm",
28
+ unitInches: "인치",
29
+ dpiScreenLabel: "화면",
30
+ dpiNewspaperLabel: "신문",
31
+ dpiPrintLabel: "일반 인쇄",
32
+ dpiFineArtLabel: "파인 아트",
33
+ formatPostal: "엽서",
34
+ formatQuartilla: "4절지",
35
+ formatFolio: "폴리오",
36
+ formatDoubleFolio: "더블 폴리오",
37
+ formatSmallPoster: "소형 포스터",
38
+ formatLargePoster: "대형 포스터",
39
+ formatPlane: "도면",
40
+ supportedText: "예 (충족)",
41
+ notSupportedPrefix: "아니요 (",
42
+ invalidImageError: "유효한 이미지를 선택하세요",
43
+ faqTitle: "자주 묻는 질문",
44
+ bibliographyTitle: "참고 문헌"
45
+ };
46
+
47
+ const faq: PrintQualityCalculatorLocaleContent['faq'] = [
48
+ {
49
+ question: "DPI란 무엇이며 왜 중요한가요?",
50
+ answer: "DPI(Dots Per Inch)는 프린터가 직선 1인치에 찍는 잉크 점의 수를 나타냅니다. DPI가 높을수록 이미지가 더 선명해지지만, 픽셀이 덮을 수 있는 총 물리적 크기는 작아집니다.",
51
+ },
52
+ {
53
+ question: "사진 인쇄에 가장 적합한 DPI는 얼마인가요?",
54
+ answer: "우수한 사진 품질을 위한 산업 표준은 300 DPI입니다. 멀리서 보게 될 대형 인쇄물의 경우 150 DPI로도 충분할 수 있습니다.",
55
+ },
56
+ {
57
+ question: "이미지의 품질 저하 없이 DPI를 높일 수 있나요?",
58
+ answer: "아니요. 픽셀을 변경하지 않고 DPI만 높이면 인쇄 크기가 줄어들 뿐입니다. 소프트웨어를 사용하여 픽셀을 '생성'하는 방식(업스케일링)은 이미지를 흐릿하게 만들 수 있습니다.",
59
+ },
60
+ ];
61
+
62
+ const howTo: PrintQualityCalculatorLocaleContent['howTo'] = [
63
+ {
64
+ name: "이미지 업로드",
65
+ text: "인쇄하려는 사진을 업로드하여 픽셀 단위의 치수를 확인하세요.",
66
+ },
67
+ {
68
+ name: "DPI 조정",
69
+ text: "슬라이더를 움직여 도트 밀도(72~600 DPI)에 따라 최종 크기가 어떻게 변하는지 확인하세요.",
70
+ },
71
+ {
72
+ name: "형식 확인",
73
+ text: "표준 형식 표(A4, A3 등)를 참고하여 해상도가 원하는 종이 크기를 충족하는지 확인하세요.",
74
+ },
75
+ {
76
+ name: "품질 확인",
77
+ text: "인쇄를 맡기기 전에 표시기에 '최상급 품질'이 뜨는지 확인하세요.",
78
+ },
79
+ ];
80
+
81
+ const bibliography: PrintQualityCalculatorLocaleContent['bibliography'] = [
82
+ {
83
+ name: "국제 종이 크기 (ISO 216)",
84
+ url: "https://www.iso.org/standard/36631.html",
85
+ },
86
+ {
87
+ name: "이미지 해상도 가이드 - Adobe",
88
+ url: "https://www.adobe.com/kr/creativecloud/photography/discover/image-resolution.html",
89
+ },
90
+ ];
91
+
92
+ const seo: PrintQualityCalculatorLocaleContent['seo'] = [
93
+ {
94
+ type: 'summary',
95
+ title: '전문적인 인쇄 해상도 계산',
96
+ items: [
97
+ '픽셀을 센티미터와 인치로 정확하게 변환',
98
+ '원하는 DPI에 따른 최대 크기 계산',
99
+ '표준 형식(A4, A3 등)과의 호환성 확인',
100
+ '최상급부터 부적합까지 4단계 품질 가이드'
101
+ ]
102
+ },
103
+ { type: 'title', text: '인쇄 품질 및 DPI에 관한 결정판 가이드', level: 2 },
104
+ { type: 'paragraph', html: '사진을 인쇄했을 때 이미지가 흐릿하거나 픽셀이 깨져 보인 적이 있나요? 그 비밀은 <strong>픽셀</strong>과 <strong>DPI</strong>(Dots Per Inch) 사이의 수학적 관계에 있습니다. 이 도구는 전문적인 품질을 유지하면서 이미지를 인쇄할 수 있는 정확한 최대 크기를 계산합니다.' },
105
+
106
+ { type: 'stats', items: [
107
+ { value: '300', label: '전문 표준 DPI', icon: 'mdi:target' },
108
+ { value: '100%', label: '정확한 계산', icon: 'mdi:check' },
109
+ { value: 'ISO 216', label: '표준 규격 지원', icon: 'mdi:file-document' }
110
+ ], columns: 3 },
111
+
112
+ { type: 'title', text: 'DPI 이해하기: 픽셀 vs 도트', level: 3 },
113
+ { type: 'paragraph', html: 'DPI와 픽셀을 동일한 것으로 혼동하는 경우가 많지만, 그렇지 않습니다. 픽셀은 디지털 파일 \'안\'에 들어있는 데이터 양입니다. DPI는 프린터가 그것을 종이 위의 잉크로 어떻게 변환하는지를 나타냅니다.' },
114
+ { type: 'list', items: [
115
+ '<strong>DPI (Dots Per Inch):</strong> 프린터가 직선 1인치(2.54 cm)에 배치하는 잉크 점의 수.',
116
+ '<strong>픽셀:</strong> 디지털 파일의 작은 데이터 사각형. 3000x2000 픽셀 사진은 DPI와 상관없이 고유한 정보량을 가집니다.',
117
+ '<strong>계산 공식:</strong> 인쇄 크기(인치) = 픽셀 수 / DPI. 예: 3000 픽셀 / 300 DPI = 10 인치(25.4 cm)'
118
+ ], icon: 'mdi:check' },
119
+
120
+ { type: 'title', text: 'DPI 품질 단계 설명', level: 3 },
121
+ { type: 'table', headers: ['DPI', '시각적 품질', '활용 사례', '감상 거리'], rows: [
122
+ ['600+ DPI', '최상급 (완벽)', '미술 도록, 고급 잡지, 파인 아트 사진', '10cm 미만'],
123
+ ['300-400 DPI', '최상급 (전문가용)', '사진, 서적, 기업 카탈로그', '20-30cm (손안)'],
124
+ ['150-200 DPI', '우수 (일반 인쇄)', '포스터, 달력, 중간 거리 감상', '1-2미터'],
125
+ ['72-100 DPI', '화면용 (보통)', '광고판, 멀리 있는 현수막', '5미터 이상'],
126
+ ['10-30 DPI', '낮음 (부적합)', '거대 광고판, 매우 먼 거리 감상', '50미터 이상']
127
+ ] },
128
+
129
+ { type: 'card', title: '300 DPI의 황금률', html: '사진 및 전문 출판 인쇄의 경우 산업 표준은 <strong>300 DPI</strong>입니다. 이는 정상적인 감상 거리(20-30 cm)에서 사람의 눈이 개별 잉크 점을 인지하지 못하도록 보장합니다. 300 DPI 미만이 되면 픽셀 격자가 보이기 시작할 수 있습니다.' },
130
+
131
+ { type: 'comparative', items: [
132
+ {
133
+ title: '손에 들고 보는 사진 (10x15 사진)',
134
+ description: '300 DPI 필수 - 가까이서 감상',
135
+ icon: 'mdi:image',
136
+ points: [
137
+ '3000x2000 픽셀 기준 = 최대 10x6.7 인치',
138
+ '최상의 품질 보장',
139
+ '앨범 및 선물용 표준'
140
+ ]
141
+ },
142
+ {
143
+ title: '벽걸이 포스터 A3 (30x42 cm)',
144
+ description: '150 DPI로 충분 - 떨어져서 감상',
145
+ icon: 'mdi:wall-fire',
146
+ points: [
147
+ '1~2미터 거리에서 감상',
148
+ '필요한 픽셀 수가 적음',
149
+ '카메라 성능을 효율적으로 활용'
150
+ ],
151
+ highlight: true
152
+ },
153
+ {
154
+ title: '대형 광고판 (200x300 cm)',
155
+ description: '15-30 DPI - 아주 멀리서 감상',
156
+ icon: 'mdi:sign',
157
+ points: [
158
+ '20미터 이상의 거리에서 관찰',
159
+ '저해상도임에도 깨끗하게 보임',
160
+ '대용량 파일 최적화'
161
+ ]
162
+ }
163
+ ], columns: 3 },
164
+
165
+ { type: 'title', text: '전문 인쇄를 위한 파일 준비', level: 3 },
166
+ { type: 'proscons', items: [
167
+ {
168
+ pro: 'CMYK vs RGB: 프린터는 잉크(CMYK)를 사용하고 화면은 빛(RGB)을 사용합니다. 색상 왜곡을 피하려면 변환을 고려하세요.',
169
+ con: '변환 시 색상이 변할 수 있으므로 반드시 미리보기를 확인하세요.'
170
+ },
171
+ {
172
+ pro: '도련(Bleed): 이미지가 종이 끝까지 인쇄되어야 하는 경우 각 면에 3mm의 여유를 추가하세요.',
173
+ con: '도련이 없으면 재단 시 가장자리에 흰색 선이 남을 수 있습니다.'
174
+ },
175
+ {
176
+ pro: '업스케일링은 해결책이 아닙니다: 포토샵에서 픽셀을 늘리는 것은 가짜 정보를 추가하여 이미지를 뭉개뜨리는 것과 같습니다.',
177
+ con: '크게 인쇄하려면 원본 고해상도 사진이 필요합니다.'
178
+ },
179
+ {
180
+ pro: '형식: 사진에는 무압축 TIFF 또는 고품질 JPEG를 사용하고, 로고에는 벡터(AI, EPS)를 사용하세요.',
181
+ con: '대부분의 인쇄소에서 PNG는 기본적으로 CMYK를 지원하지 않습니다.'
182
+ }
183
+ ], proTitle: '권장 사항', conTitle: '주의 사항' },
184
+
185
+ { type: 'diagnostic', variant: 'warning', title: '흔한 실수: 업스케일링의 환상', icon: 'mdi:alert', badge: '중요', html: '<strong>픽셀 수를 바꾸지 않고 포토샵에서 DPI 설정값만 올리지 마세요.</strong> 72 DPI에서 300 DPI로 변경하는 것은 물리적인 인쇄 크기를 줄이는 것일 뿐입니다. 보간법을 통해 \'픽셀을 추가\'하면 이미지가 흐릿해 보이거나 뭉개집니다. 소스에서 제공하는 \'진짜 픽셀\'이 필요합니다.' },
186
+
187
+ { type: 'glossary', items: [
188
+ {
189
+ term: 'DPI (Dots Per Inch)',
190
+ definition: '인쇄 해상도 단위: 직선 1인치(2.54 cm)당 인크 점의 수. 300 DPI = 제곱인치당 90,000개의 점.'
191
+ },
192
+ {
193
+ term: 'CMYK',
194
+ definition: '인쇄 시 사용되는 색 공간: 사이언, 마젠타, 옐로우, 블랙. 감산 혼합 방식의 잉크를 기반으로 합니다. 화면의 RGB(가산 혼합 빛)와는 다릅니다.'
195
+ },
196
+ {
197
+ term: '도련 (Bleed)',
198
+ definition: '재단 오차를 방지하기 위해 작업 사이즈 바깥쪽으로 그려지는 추가 영역(보통 3mm). 흰 여백 없이 이미지가 끝까지 인쇄되도록 합니다.'
199
+ },
200
+ {
201
+ term: '네이티브 해상도',
202
+ definition: '조작 없이 카메라가 포착한 실제 픽셀 수입니다. 픽셀 변경 없이 DPI 설정만 바꾼 것은 네이티브 해상도가 아닙니다.'
203
+ },
204
+ {
205
+ term: '보간 (Interpolation)',
206
+ definition: '기존 픽셀을 바탕으로 새로운 픽셀을 생성하는 알고리즘입니다. 약간의 확대에는 유용하지만, 무리한 확대 시 선명도가 떨어집니다.'
207
+ }
208
+ ] },
209
+
210
+ { type: 'message', title: '전문적인 결과를 위한 기술적 정밀도', ariaLabel: '인쇄 계산에 관한 정보', html: '본 계산기는 국제 표준(종이의 ISO 216)을 고려하여 픽셀을 센티미터로 변환합니다. 단순한 계산기가 아니라, 해당 사진이 전문적인 품질을 유지하면서 해당 인쇄 크기에 적합한지 검증하는 도구입니다.' },
211
+
212
+ { type: 'title', text: '결론: 실패 없는 인쇄를 위해', level: 3 },
213
+ { type: 'paragraph', html: '성공적인 인쇄물과 실망스러운 결과물의 차이는 픽셀과 DPI의 관계를 이해하느냐에 달려 있습니다. 인쇄소에 가기 전에 이 계산기로 파일을 검증하세요. 이를 통해 불필요한 비용과 실망스러운 결과를 피할 수 있습니다.' }
214
+ ];
215
+
216
+ const faqSchema: WithContext<FAQPage> = {
217
+ '@context': 'https://schema.org',
218
+ '@type': 'FAQPage',
219
+ mainEntity: faq.map((item) => ({
220
+ '@type': 'Question',
221
+ name: item.question,
222
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
223
+ })),
224
+ };
225
+
226
+ const howToSchema: WithContext<HowTo> = {
227
+ '@context': 'https://schema.org',
228
+ '@type': 'HowTo',
229
+ name: title,
230
+ description,
231
+ step: howTo.map((step) => ({
232
+ '@type': 'HowToStep',
233
+ name: step.name,
234
+ text: step.text,
235
+ })),
236
+ };
237
+
238
+ const appSchema: WithContext<SoftwareApplication> = {
239
+ '@context': 'https://schema.org',
240
+ '@type': 'SoftwareApplication',
241
+ name: title,
242
+ description,
243
+ applicationCategory: 'UtilitiesApplication',
244
+ operatingSystem: 'Web',
245
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
246
+ inLanguage: 'ko',
247
+ };
248
+
249
+ export const content: PrintQualityCalculatorLocaleContent = {
250
+ slug,
251
+ title,
252
+ description,
253
+ ui,
254
+ seo,
255
+ faqTitle: "자주 묻는 질문",
256
+ faq,
257
+ bibliographyTitle: "참고 문헌",
258
+ bibliography,
259
+ howTo,
260
+ schemas: [faqSchema as any, howToSchema as any, appSchema],
261
+ };
@@ -0,0 +1,261 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { PrintQualityCalculatorUI, PrintQualityCalculatorLocaleContent } from '../index';
3
+
4
+ const slug = 'drukkwaliteit-calculator-pixels-naar-cm-dpi';
5
+ const title = 'Drukkwaliteit Calculator: Pixels naar CM en DPI';
6
+ const description = 'Bereken de maximale afdrukgrootte van je foto\'s op basis van hun resolutie. Converteer pixels naar centimeters en inches om professioneel drukwerk te garanderen.';
7
+
8
+ const ui: PrintQualityCalculatorUI = {
9
+ dropTitle: "Analyseer Resolutie",
10
+ dropSubtitle: "Sleep je afbeelding hierheen om de afdrukgrootte te berekenen.",
11
+ resultsTitle: "Bestandsspecificaties",
12
+ dpiDensityLabel: "Gewenste Afdrukdichtheid (DPI)",
13
+ dpiPointsLabel: "punten per inch",
14
+ maxPrintTitle: "Maximale Afdrukgrootte",
15
+ standardFormatsTitle: "Ondersteunde Standaardformaten",
16
+ formatColumn: "Formaat",
17
+ measureColumn: "Afmetingen",
18
+ supportColumn: "Ondersteund?",
19
+ qualityExcellent: "Uitstekende Kwaliteit",
20
+ qualityGood: "Goede Kwaliteit",
21
+ qualityFair: "Schermkwaliteit",
22
+ qualityPoor: "Niet Geschikt",
23
+ qualityExcellentDesc: "Ideaal for kunsttijdschriften, fotoboeken en close-up weergave.",
24
+ qualityGoodDesc: "Voldoende voor posters en weergave op middellange afstand.",
25
+ qualityFairDesc: "Geschikt voor digitale weergave of verre reclameborden.",
26
+ qualityPoorDesc: "De afbeelding zal er gepixeld uitzien. Afdrukken wordt niet aanbevolen.",
27
+ unitCm: "cm",
28
+ unitInches: "in",
29
+ dpiScreenLabel: "Scherm",
30
+ dpiNewspaperLabel: "Krant",
31
+ dpiPrintLabel: "Drukwerk",
32
+ dpiFineArtLabel: "Fine Art",
33
+ formatPostal: "Briefkaart",
34
+ formatQuartilla: "Kwartijn",
35
+ formatFolio: "Folio",
36
+ formatDoubleFolio: "Dubbel Folio",
37
+ formatSmallPoster: "Kleine Poster",
38
+ formatLargePoster: "Grote Poster",
39
+ formatPlane: "Plattegrond",
40
+ supportedText: "Ja (Gedekt)",
41
+ notSupportedPrefix: "Nee (",
42
+ invalidImageError: "Selecteer een geldige afbeelding",
43
+ faqTitle: "Veelgestelde Vragen",
44
+ bibliographyTitle: "Referenties"
45
+ };
46
+
47
+ const faq: PrintQualityCalculatorLocaleContent['faq'] = [
48
+ {
49
+ question: "Wat is DPI en waarom is het belangrijk?",
50
+ answer: "DPI (Dots Per Inch) geeft aan hoeveel inktpunten de printer op een lineaire inch zet. Hoe hoger de DPI, hoe scherper de afbeelding, maar hoe kleiner de totale fysieke grootte die je pixels zullen beslaan.",
51
+ },
52
+ {
53
+ question: "Wat is de ideale DPI voor het afdrukken van een foto?",
54
+ answer: "De industriestandaard is 300 DPI voor een uitstekende fotografische kwaliteit. Voor grote afdrukken die van veraf bekeken worden, kan 150 DPI voldoende zijn.",
55
+ },
56
+ {
57
+ question: "Kan ik de DPI van mijn afbeelding verhogen zonder kwaliteitsverlies?",
58
+ answer: "Nee. Het verhogen van de DPI zonder de pixels te veranderen, verkleint simpelweg de grootte van de afdruk. Als je pixels 'verzint' met software (upscaling), kan de afbeelding er wazig uitzien.",
59
+ },
60
+ ];
61
+
62
+ const howTo: PrintQualityCalculatorLocaleContent['howTo'] = [
63
+ {
64
+ name: "Upload je afbeelding",
65
+ text: "Upload de foto die je wilt afdrukken om de afmetingen in pixels te weten te komen.",
66
+ },
67
+ {
68
+ name: "Pas DPI aan",
69
+ text: "Verschuif de balk om te zien hoe de uiteindelijke grootte verandert op basis van de puntdichtheid (72 tot 600 DPI).",
70
+ },
71
+ {
72
+ name: "Controleer formaat",
73
+ text: "Bekijk de tabel met standaardformaten (A4, A3, etc.) om te zien of je resolutie het gewenste papier dekt.",
74
+ },
75
+ {
76
+ name: "Bevestig kwaliteit",
77
+ text: "Zorg ervoor dat de indicator 'Uitstekende Kwaliteit' aangeeft voordat je naar de drukker gaat.",
78
+ },
79
+ ];
80
+
81
+ const bibliography: PrintQualityCalculatorLocaleContent['bibliography'] = [
82
+ {
83
+ name: "Internationale Papierformaten (ISO 216)",
84
+ url: "https://www.iso.org/standard/36631.html",
85
+ },
86
+ {
87
+ name: "Afbeeldingsresolutie gids - Adobe",
88
+ url: "https://www.adobe.com/nl/creativecloud/photography/discover/image-resolution.html",
89
+ },
90
+ ];
91
+
92
+ const seo: PrintQualityCalculatorLocaleContent['seo'] = [
93
+ {
94
+ type: 'summary',
95
+ title: 'Professionele Berekening van Afdrukresolutie',
96
+ items: [
97
+ 'Pixels nauwkeurig omzetten naar centimeters en inches',
98
+ 'Maximale grootte berekenen op basis van gewenste DPI',
99
+ 'Compatibiliteit met standaardformaten (A4, A3, etc.)',
100
+ 'Gids voor 4 kwaliteitsniveaus: van Uitstekend tot Niet Geschikt'
101
+ ]
102
+ },
103
+ { type: 'title', text: 'Definitieve Gids voor Afdrukkwaliteit en DPI', level: 2 },
104
+ { type: 'paragraph', html: 'Heb je wel eens een foto afgedrukt die er wazig of gepixeld uitkwam? Het geheim zit in de wiskundige relatie tussen <strong>Pixels</strong> en <strong>DPI</strong> (Dots Per Inch). Deze tool berekent de exacte maximale grootte waarop je je afbeeldingen kunt afdrukken zonder professionele kwaliteit te verliezen.' },
105
+
106
+ { type: 'stats', items: [
107
+ { value: '300', label: 'Professionele Standaard DPI', icon: 'mdi:target' },
108
+ { value: '100%', label: 'Nauwkeurige Berekeningen', icon: 'mdi:check' },
109
+ { value: 'ISO 216', label: 'Ondersteunde Formaten', icon: 'mdi:file-document' }
110
+ ], columns: 3 },
111
+
112
+ { type: 'title', text: 'DPI Begrijpen: Pixels vs Punten', level: 3 },
113
+ { type: 'paragraph', html: 'Een veelvoorkomende verwarring is de gedachte dat DPI en pixels hetzelfde zijn. Dat zijn ze niet. Pixels zitten IN je digitale bestand. DPI is hoe de printer ze omzet in inkt op papier.' },
114
+ { type: 'list', items: [
115
+ '<strong>DPI (Dots Per Inch):</strong> Hoeveel inktpunten de printer op een lineaire inch (2,54 cm) plaatst.',
116
+ '<strong>Pixels:</strong> Kleine gegevensvierkantjes in je digitale bestand. Een foto van 3000x2000 pixels bevat constante informatie, ongeacht de DPI.',
117
+ '<strong>De Formule:</strong> Afdrukgrootte (inches) = Pixels / DPI. Voorbeeld: 3000 pixels / 300 DPI = 10 inches (25,4 cm)'
118
+ ], icon: 'mdi:check' },
119
+
120
+ { type: 'title', text: 'Uitleg van DPI kwaliteitsniveaus', level: 3 },
121
+ { type: 'table', headers: ['DPI', 'Visuele Kwaliteit', 'Gebruikssituaties', 'Kijkafstand'], rows: [
122
+ ['600+ DPI', 'Uitstekend (Perfect)', 'Kunstboeken, luxe tijdschriften, fijne fotografie', 'Minder dan 10 cm'],
123
+ ['300-400 DPI', 'Uitstekend (Professioneel)', 'Fotografie, boeken, catalogi', '20-30 cm (hand)'],
124
+ ['150-200 DPI', 'Goed (Web Druk)', 'Posters, kalenders, gemiddelde weergave', '1-2 meter'],
125
+ ['72-100 DPI', 'Scherm (Redelijk)', 'Reclameborden, verre banners', '5+ meter'],
126
+ ['10-30 DPI', 'Laag (Niet Geschikt)', 'Gigantische reclameborden, extreem verre weergave', '50+ meter']
127
+ ] },
128
+
129
+ { type: 'card', title: 'De Gouden Regel van 300 DPI', html: 'Voor fotografisch en professioneel redactioneel drukwerk is de industriestandaard <strong>300 DPI</strong>. Dit zorgt ervoor dat het menselijk oog op normale afstand (20-30 cm) geen individuele inktpunten waarneemt. Bij minder dan 300 DPI wordt een pixelraster zichtbaar.' },
130
+
131
+ { type: 'comparative', items: [
132
+ {
133
+ title: 'Handfotografie (10x15 Foto\'s)',
134
+ description: '300 DPI verplicht - van dichtbij bekeken',
135
+ icon: 'mdi:image',
136
+ points: [
137
+ 'Bij 3000x2000 pixels = maximaal 10x6,7 inches',
138
+ 'Gegarandeerd uitstekende kwaliteit',
139
+ 'Standaard voor albums en geschenken'
140
+ ]
141
+ },
142
+ {
143
+ title: 'Muurposter A3 (30x42 cm)',
144
+ description: '150 DPI genoeg - van afstand bekeken',
145
+ icon: 'mdi:wall-fire',
146
+ points: [
147
+ 'Bekeken vanaf 1-2 meter',
148
+ 'Minder pixels nodig',
149
+ 'Bespaar op camerakwaliteit'
150
+ ],
151
+ highlight: true
152
+ },
153
+ {
154
+ title: 'Reclamebord (200x300 cm)',
155
+ description: '15-30 DPI - van vele meters bekeken',
156
+ icon: 'mdi:sign',
157
+ points: [
158
+ 'Geobserveerd op 20+ meter afstand',
159
+ 'Zelfs lage resolutie ziet er goed uit',
160
+ 'Optimaliseer grote bestanden'
161
+ ]
162
+ }
163
+ ], columns: 3 },
164
+
165
+ { type: 'title', text: 'Bestanden Voorbereiden voor Professioneel Drukwerk', level: 3 },
166
+ { type: 'proscons', items: [
167
+ {
168
+ pro: 'CMYK vs RGB: Printers gebruiken inkt (CMYK), schermen gebruiken licht (RGB). Converteer om kleurverrassingen te voorkomen.',
169
+ con: 'Kleuren kunnen veranderen bij het converteren - bekijk eerst de preview'
170
+ },
171
+ {
172
+ pro: 'Afloop (Bleed): Voeg 3mm extra toe per zijde als de afbeelding tot de papierrand moet lopen',
173
+ con: 'Zonder afloop kunnen snijranden wit blijven'
174
+ },
175
+ {
176
+ pro: 'Upscaling werkt NIET: Pixels vergroten in Photoshop voegt valse informatie toe (gladmaken)',
177
+ con: 'Als je groot wilt afdrukken, heb je de originele foto in hoge resolutie nodig'
178
+ },
179
+ {
180
+ pro: 'Formaten: TIFF zonder compressie of hoge kwaliteit JPEG voor foto\'s; vector (AI, EPS) voor logo\'s',
181
+ con: 'PNG ondersteunt CMYK niet standaard in de meeste drukkerijen'
182
+ }
183
+ ], proTitle: 'Aanbevelingen', conTitle: 'Contra-indicaties' },
184
+
185
+ { type: 'diagnostic', variant: 'warning', title: 'Veelgemaakte Fout: De Mythe van Upscaling', icon: 'mdi:alert', badge: 'Kritiek', html: '<strong>Verhoog de DPI NIET in Photoshop zonder de pixels te veranderen.</strong> Verhoging van 72 DPI naar 300 DPI verkleint simpelweg de fysieke afdrukgrootte. Als je pixels \'toevoegt\' via interpolatie (upscaling), ziet de afbeelding er gladgetrokken of wazig uit. Je hebt ECHTE pixels van de bron nodig.' },
186
+
187
+ { type: 'glossary', items: [
188
+ {
189
+ term: 'DPI (Dots Per Inch)',
190
+ definition: 'Maat voor afdrukresolutie: hoeveel inktpunten per lineaire inch (2,54 cm). 300 DPI = 300x300 = 90.000 punten per vierkante inch.'
191
+ },
192
+ {
193
+ term: 'CMYK',
194
+ definition: 'Drukkerijkleurruimte: Cyaan, Magenta, Geel, Zwart (Key). Gebaseerd op subtractieve inkt. Anders dan RGB (additief licht van schermen).'
195
+ },
196
+ {
197
+ term: 'Afloop (Bleed)',
198
+ definition: 'Extra gebied (meestal 3mm) dat wordt afgedrukt en daarna schoongesneden. Zorgt ervoor dat de afbeelding tot de rand loopt zonder witte marges.'
199
+ },
200
+ {
201
+ term: 'Native Resolutie',
202
+ definition: 'ECHTE pixels vastgelegd door de camera, zonder manipulatie. DPI verhogen zonder pixels te veranderen genereert geen \"native resolutie\".'
203
+ },
204
+ {
205
+ term: 'Interpolatie (Upscaling)',
206
+ definition: 'Algoritme dat nieuwe pixels verzint op basis van bestaande pixels. Nuttig voor kleine vergrotingen, maar verliest scherpte bij grote vergrotingen.'
207
+ }
208
+ ] },
209
+
210
+ { type: 'message', title: 'Technische Precisie voor Professionele Resultaten', ariaLabel: 'Informatie over afdrukberekeningen', html: 'Onze calculator zet pixels om naar centimeters rekening houdend met internationale standaarden (ISO 216 voor papier). Het is niet zomaar een rekenmachine: het is je validator of die foto past bij die afdrukgrootte met behoud van professionele kwaliteit.' },
211
+
212
+ { type: 'title', text: 'Conclusie: Afdrukken Zonder Verrassingen', level: 3 },
213
+ { type: 'paragraph', html: 'Het verschil tussen een mooie afdruk en een teleurstellende afdruk is het kennen van de relatie tussen pixels and DPI. Gebruik deze calculator om je bestanden te valideren VOORDAT je naar de drukker gaat. Zo voorkom je onnodige kosten en frustrerende resultaten.' }
214
+ ];
215
+
216
+ const faqSchema: WithContext<FAQPage> = {
217
+ '@context': 'https://schema.org',
218
+ '@type': 'FAQPage',
219
+ mainEntity: faq.map((item) => ({
220
+ '@type': 'Question',
221
+ name: item.question,
222
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
223
+ })),
224
+ };
225
+
226
+ const howToSchema: WithContext<HowTo> = {
227
+ '@context': 'https://schema.org',
228
+ '@type': 'HowTo',
229
+ name: title,
230
+ description,
231
+ step: howTo.map((step) => ({
232
+ '@type': 'HowToStep',
233
+ name: step.name,
234
+ text: step.text,
235
+ })),
236
+ };
237
+
238
+ const appSchema: WithContext<SoftwareApplication> = {
239
+ '@context': 'https://schema.org',
240
+ '@type': 'SoftwareApplication',
241
+ name: title,
242
+ description,
243
+ applicationCategory: 'UtilitiesApplication',
244
+ operatingSystem: 'Web',
245
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
246
+ inLanguage: 'nl',
247
+ };
248
+
249
+ export const content: PrintQualityCalculatorLocaleContent = {
250
+ slug,
251
+ title,
252
+ description,
253
+ ui,
254
+ seo,
255
+ faqTitle: "Veelgestelde Vragen",
256
+ faq,
257
+ bibliographyTitle: "Referenties",
258
+ bibliography,
259
+ howTo,
260
+ schemas: [faqSchema as any, howToSchema as any, appSchema],
261
+ };