@jjlmoya/utils-converters 1.25.0 → 1.26.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 +2 -2
- package/src/category/i18n/de.ts +1 -1
- package/src/category/i18n/en.ts +1 -1
- package/src/category/i18n/fr.ts +1 -1
- package/src/category/i18n/id.ts +1 -1
- package/src/category/i18n/it.ts +1 -1
- package/src/category/i18n/nl.ts +1 -1
- package/src/category/i18n/pl.ts +1 -1
- package/src/category/i18n/pt.ts +1 -1
- package/src/category/i18n/sv.ts +1 -1
- package/src/tests/bibliography_wellformed_export.test.ts +46 -0
- package/src/tests/category_seo_quality.test.ts +74 -0
- package/src/tests/faq_count.test.ts +1 -1
- package/src/tests/no_h1_in_components.test.ts +1 -1
- package/src/tests/seo_parity.test.ts +2 -2
- package/src/tests/seo_wellformed_export.test.ts +65 -0
- package/src/tests/tool_validation.test.ts +15 -15
- package/src/tool/avifAJpg/i18n/en.ts +164 -164
- package/src/tool/avifAJpg/i18n/es.ts +164 -164
- package/src/tool/avifAJpg/i18n/fr.ts +164 -164
- package/src/tool/avifAJpg/i18n/ja.ts +166 -166
- package/src/tool/avifAJpg/i18n/ko.ts +166 -166
- package/src/tool/avifAJpg/i18n/zh.ts +166 -166
- package/src/tool/avifAJpg/seo.astro +15 -15
- package/src/tool/avifAPng/i18n/en.ts +164 -164
- package/src/tool/avifAPng/i18n/es.ts +164 -164
- package/src/tool/avifAPng/i18n/fr.ts +164 -164
- package/src/tool/avifAPng/i18n/ja.ts +166 -166
- package/src/tool/avifAPng/i18n/ko.ts +166 -166
- package/src/tool/avifAPng/i18n/zh.ts +166 -166
- package/src/tool/avifAPng/seo.astro +15 -15
- package/src/tool/avifAWebp/i18n/en.ts +164 -164
- package/src/tool/avifAWebp/i18n/es.ts +164 -164
- package/src/tool/avifAWebp/i18n/fr.ts +164 -164
- package/src/tool/avifAWebp/i18n/ja.ts +166 -166
- package/src/tool/avifAWebp/i18n/ko.ts +166 -166
- package/src/tool/avifAWebp/i18n/zh.ts +166 -166
- package/src/tool/avifAWebp/seo.astro +15 -15
- package/src/tool/bmpAJpg/i18n/en.ts +164 -164
- package/src/tool/bmpAJpg/i18n/es.ts +164 -164
- package/src/tool/bmpAJpg/i18n/fr.ts +164 -164
- package/src/tool/bmpAJpg/i18n/ja.ts +166 -166
- package/src/tool/bmpAJpg/i18n/ko.ts +166 -166
- package/src/tool/bmpAJpg/i18n/zh.ts +166 -166
- package/src/tool/bmpAJpg/seo.astro +15 -15
- package/src/tool/bmpAPng/i18n/en.ts +164 -164
- package/src/tool/bmpAPng/i18n/es.ts +164 -164
- package/src/tool/bmpAPng/i18n/fr.ts +164 -164
- package/src/tool/bmpAPng/i18n/ja.ts +165 -165
- package/src/tool/bmpAPng/i18n/ko.ts +165 -165
- package/src/tool/bmpAPng/i18n/zh.ts +165 -165
- package/src/tool/bmpAPng/seo.astro +15 -15
- package/src/tool/bmpAWebp/i18n/en.ts +164 -164
- package/src/tool/bmpAWebp/i18n/es.ts +164 -164
- package/src/tool/bmpAWebp/i18n/fr.ts +164 -164
- package/src/tool/bmpAWebp/i18n/ja.ts +166 -166
- package/src/tool/bmpAWebp/i18n/ko.ts +166 -166
- package/src/tool/bmpAWebp/i18n/zh.ts +166 -166
- package/src/tool/bmpAWebp/seo.astro +15 -15
- package/src/tool/gifAJpg/i18n/en.ts +164 -164
- package/src/tool/gifAJpg/i18n/es.ts +164 -164
- package/src/tool/gifAJpg/i18n/fr.ts +164 -164
- package/src/tool/gifAJpg/i18n/ja.ts +166 -166
- package/src/tool/gifAJpg/i18n/ko.ts +166 -166
- package/src/tool/gifAJpg/i18n/zh.ts +166 -166
- package/src/tool/gifAJpg/seo.astro +15 -15
- package/src/tool/gifAPng/i18n/en.ts +164 -164
- package/src/tool/gifAPng/i18n/es.ts +164 -164
- package/src/tool/gifAPng/i18n/fr.ts +164 -164
- package/src/tool/gifAPng/i18n/ja.ts +166 -166
- package/src/tool/gifAPng/i18n/ko.ts +166 -166
- package/src/tool/gifAPng/i18n/zh.ts +166 -166
- package/src/tool/gifAPng/seo.astro +15 -15
- package/src/tool/gifAWebp/i18n/en.ts +164 -164
- package/src/tool/gifAWebp/i18n/es.ts +164 -164
- package/src/tool/gifAWebp/i18n/fr.ts +164 -164
- package/src/tool/gifAWebp/i18n/ja.ts +166 -166
- package/src/tool/gifAWebp/i18n/ko.ts +166 -166
- package/src/tool/gifAWebp/i18n/zh.ts +166 -166
- package/src/tool/gifAWebp/seo.astro +15 -15
- package/src/tool/imagenBase64/i18n/en.ts +154 -154
- package/src/tool/imagenBase64/i18n/es.ts +154 -154
- package/src/tool/imagenBase64/i18n/fr.ts +154 -154
- package/src/tool/imagenBase64/seo.astro +15 -15
- package/src/tool/jpgAIco/seo.astro +15 -15
- package/src/tool/jpgAPng/i18n/en.ts +164 -164
- package/src/tool/jpgAPng/i18n/es.ts +164 -164
- package/src/tool/jpgAPng/i18n/fr.ts +164 -164
- package/src/tool/jpgAPng/i18n/ja.ts +166 -166
- package/src/tool/jpgAPng/i18n/ko.ts +166 -166
- package/src/tool/jpgAPng/i18n/zh.ts +166 -166
- package/src/tool/jpgAPng/seo.astro +15 -15
- package/src/tool/jpgAWebp/i18n/en.ts +164 -164
- package/src/tool/jpgAWebp/i18n/es.ts +164 -164
- package/src/tool/jpgAWebp/i18n/fr.ts +164 -164
- package/src/tool/jpgAWebp/seo.astro +15 -15
- package/src/tool/pngAIco/seo.astro +15 -15
- package/src/tool/pngAJpg/i18n/de.ts +21 -21
- package/src/tool/pngAJpg/i18n/es.ts +177 -177
- package/src/tool/pngAJpg/i18n/fr.ts +137 -137
- package/src/tool/pngAJpg/i18n/id.ts +89 -89
- package/src/tool/pngAJpg/i18n/it.ts +89 -89
- package/src/tool/pngAJpg/i18n/ko.ts +177 -177
- package/src/tool/pngAJpg/i18n/nl.ts +20 -20
- package/src/tool/pngAJpg/i18n/pl.ts +89 -89
- package/src/tool/pngAJpg/i18n/pt.ts +89 -89
- package/src/tool/pngAJpg/i18n/ru.ts +177 -177
- package/src/tool/pngAJpg/i18n/sv.ts +89 -89
- package/src/tool/pngAJpg/i18n/tr.ts +89 -89
- package/src/tool/pngAJpg/seo.astro +15 -15
- package/src/tool/pngAWebp/i18n/en.ts +164 -164
- package/src/tool/pngAWebp/i18n/es.ts +164 -164
- package/src/tool/pngAWebp/i18n/fr.ts +164 -164
- package/src/tool/pngAWebp/seo.astro +15 -15
- package/src/tool/svgAJpg/i18n/fr.ts +164 -164
- package/src/tool/svgAJpg/seo.astro +15 -15
- package/src/tool/svgAPng/i18n/fr.ts +164 -164
- package/src/tool/svgAPng/seo.astro +15 -15
- package/src/tool/webpAIco/seo.astro +15 -15
- package/src/tool/webpAJpg/seo.astro +15 -15
- package/src/tool/webpAPng/bibliography.ts +13 -13
- package/src/tool/webpAPng/i18n/de.ts +166 -166
- package/src/tool/webpAPng/i18n/es.ts +171 -171
- package/src/tool/webpAPng/i18n/fr.ts +166 -166
- package/src/tool/webpAPng/i18n/id.ts +166 -166
- package/src/tool/webpAPng/i18n/it.ts +166 -166
- package/src/tool/webpAPng/i18n/nl.ts +166 -166
- package/src/tool/webpAPng/i18n/pl.ts +166 -166
- package/src/tool/webpAPng/i18n/pt.ts +166 -166
- package/src/tool/webpAPng/i18n/ru.ts +166 -166
- package/src/tool/webpAPng/i18n/sv.ts +166 -166
- package/src/tool/webpAPng/i18n/tr.ts +167 -167
- package/src/tool/webpAPng/seo.astro +15 -15
|
@@ -1,167 +1,167 @@
|
|
|
1
1
|
import { bibliography } from '../bibliography';
|
|
2
|
-
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
3
|
-
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
4
|
-
import type { BmpAPngLocaleContent } from '../index';
|
|
5
|
-
|
|
6
|
-
const slug = 'bmp-to-png-converter';
|
|
7
|
-
const title = 'BMPからPNGへのコンバーター';
|
|
8
|
-
const description =
|
|
9
|
-
'BMP画像を品質を損なうことなくPNGに変換します。ノイズのないモダンな圧縮。ファイルのアップロードは不要。無料で100%プライベートに使用できます。';
|
|
10
|
-
|
|
11
|
-
const ui: ImageConverterUI = {
|
|
12
|
-
dragText: 'BMPファイルをドラッグ...',
|
|
13
|
-
convertText: '即座にPNGに変換します',
|
|
14
|
-
selectFiles: 'ファイルを選択',
|
|
15
|
-
processedFiles: '処理済みファイル',
|
|
16
|
-
downloadAll: 'すべてダウンロード (.zip)',
|
|
2
|
+
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
3
|
+
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
4
|
+
import type { BmpAPngLocaleContent } from '../index';
|
|
5
|
+
|
|
6
|
+
const slug = 'bmp-to-png-converter';
|
|
7
|
+
const title = 'BMPからPNGへのコンバーター';
|
|
8
|
+
const description =
|
|
9
|
+
'BMP画像を品質を損なうことなくPNGに変換します。ノイズのないモダンな圧縮。ファイルのアップロードは不要。無料で100%プライベートに使用できます。';
|
|
10
|
+
|
|
11
|
+
const ui: ImageConverterUI = {
|
|
12
|
+
dragText: 'BMPファイルをドラッグ...',
|
|
13
|
+
convertText: '即座にPNGに変換します',
|
|
14
|
+
selectFiles: 'ファイルを選択',
|
|
15
|
+
processedFiles: '処理済みファイル',
|
|
16
|
+
downloadAll: 'すべてダウンロード (.zip)',
|
|
17
17
|
pending: '待機中',
|
|
18
|
-
bibliographyTitle: '参考文献',
|
|
19
|
-
faqTitle: 'よくある質問',
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
const faq: BmpAPngLocaleContent['faq'] = [
|
|
23
|
-
{
|
|
24
|
-
question: 'BMPとPNGの主な違いは何ですか?',
|
|
25
|
-
answer:
|
|
26
|
-
'BMPもPNGもロスレス(無損失)形式です。違いは最適化にあります。PNGは現代的な圧縮アルゴリズムを使用して、BMPよりも5倍から10倍少ないメモリ容量で同じ画像を保存できます。',
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
question: '変換は本当にプライベートですか?',
|
|
30
|
-
answer:
|
|
31
|
-
'はい。すべての画像処理はお使いのコンピュータで行われます。ローカルでの転送中にファイルにアクセスできる人は誰もいません。',
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
question: 'この場合、なぜJPEGではなくPNGなのですか?',
|
|
35
|
-
answer:
|
|
36
|
-
'BMPファイルをお持ちの場合、その画像には正確な色が含まれているからです。BMPを非可逆標準のJPGに変換すると、鮮明な色が損なわれてしまいます。PNGはその忠実度を保護します。',
|
|
37
|
-
},
|
|
38
|
-
];
|
|
39
|
-
|
|
40
|
-
const howTo: BmpAPngLocaleContent['howTo'] = [
|
|
41
|
-
{
|
|
42
|
-
name: '写真を読み込む',
|
|
43
|
-
text: 'BMPソースファイルを、ウェブ要素のドロップゾーンへ安心して移動させてください。',
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
name: 'ネットワーク送信なしで変換',
|
|
47
|
-
text: 'HTML5のJavaScriptによってローカルで行われるクリーンな処理を、わずか1秒で実感してください。',
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
name: '純粋なPNGを入手',
|
|
51
|
-
text: 'PNG形式の複製を個別に、または圧縮パッケージとしてダウンロードしてください。',
|
|
52
|
-
},
|
|
53
|
-
];
|
|
54
|
-
|
|
55
|
-
const seo: BmpAPngLocaleContent['seo'] = [
|
|
56
|
-
{
|
|
57
|
-
type: 'title',
|
|
58
|
-
text: 'BMPからPNGへのコンバーター:BMP形式のロスレスな置き換え',
|
|
59
|
-
level: 2,
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
type: 'paragraph',
|
|
63
|
-
html: 'BMPは非圧縮形式であり、PNGと比較して技術的な利点がないまま、膨大なスペースを占有します。どちらもロスレス形式であり、各ピクセルを絶対的な正確さで保存します。しかし、PNGはDeflateアルゴリズムによるロスレス圧縮を追加し、視覚情報を1ビットも犠牲にすることなく、ファイルサイズを3分の1から5分の1に削減します。PNGは、本質的にBMPが常に目指していた姿と言えます。',
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
type: 'title',
|
|
67
|
-
text: 'BMP vs PNG:同じ品質、劇的に異なるサイズ',
|
|
68
|
-
level: 3,
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
type: 'paragraph',
|
|
72
|
-
html: 'BMPとPNGの根本的な違いは画像品質ではなく(どちらもロスレスです)、ストレージの効率にあります。BMPはピクセルを生のまま保存します。圧縮なし、最適化なし、スペースへの配慮なしです。対照的に、PNGは繰り返されるピクセルパターンを分析し、ZIPで使用されているのと同じアルゴリズムであるDeflateを使用してコンパクトにエンコードします。',
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
type: 'paragraph',
|
|
76
|
-
html: '優れた圧縮性能に加えて、PNGはBMPにはなかった機能を備えています。それは、透明度のための完全なアルファチャンネルです。スクリーンショット、インターフェイスグラフィックス、ロゴ、技術図面など、これらすべての種類の画像は、色値を正確に維持しながらファイルサイズを元の何分の一かに削減できる、PNGへの変換から大きな恩恵を受けます。',
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
type: 'title',
|
|
80
|
-
text: 'アーキテクチャの比較:ローカル vs クラウド',
|
|
81
|
-
level: 3,
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
type: 'comparative',
|
|
85
|
-
items: [
|
|
86
|
-
{
|
|
87
|
-
title: 'クラウドコンバーター',
|
|
88
|
-
description: '第三者のサーバーでBMPファイルを処理するサービス。',
|
|
89
|
-
icon: 'mdi:cloud-upload',
|
|
90
|
-
pointIcon: 'mdi:close-circle-outline',
|
|
91
|
-
points: [
|
|
92
|
-
'作業画像がインターネット上を移動する',
|
|
93
|
-
'待機時間はBMPのサイズに比例する',
|
|
94
|
-
'無料プランでのサイズ制限',
|
|
95
|
-
'ファイルの分析や保持のリスク',
|
|
96
|
-
],
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
title: '当サイトのローカルアーキテクチャ',
|
|
100
|
-
description: 'Vanilla JSテクノロジーを使用してハードウェア上で直接処理。',
|
|
101
|
-
icon: 'mdi:laptop-mac',
|
|
102
|
-
highlight: true,
|
|
103
|
-
points: [
|
|
104
|
-
'BMPはローカルで処理され、デバイスの外に出ることはない',
|
|
105
|
-
'ミリ秒単位の即時変換',
|
|
106
|
-
'サイズ制限やファイル数の制限なし',
|
|
107
|
-
'完全なプライバシー:0バイトが外部に送信される',
|
|
108
|
-
],
|
|
109
|
-
},
|
|
110
|
-
],
|
|
111
|
-
},
|
|
112
|
-
{
|
|
113
|
-
type: 'title',
|
|
114
|
-
text: '技術的なBMPからPNGへのローカル変換の仕組み',
|
|
115
|
-
level: 3,
|
|
116
|
-
},
|
|
117
|
-
{
|
|
118
|
-
type: 'paragraph',
|
|
119
|
-
html: 'プロセスにはHTML5のCanvas APIが使用されます。BMPファイルはブラウザの<code>FileReader</code> APIで読み取られ、メモリ内でBlobとしてデコードされます。そのBlobは、不可視のHTML5キャンバス上に描画されます。次に、<code>toDataURL(\'image/png\')</code>メソッドがブラウザ固有のPNG圧縮アルゴリズムを適用し、結果のファイルを生成します。',
|
|
120
|
-
},
|
|
121
|
-
{
|
|
122
|
-
type: 'paragraph',
|
|
123
|
-
html: 'JPGへの変換とは異なり、PNGへの変換は完全にロスレスです。元のBMPの各色値は、生成されるPNGで正確に保持されます。ノイズの発生、エッジのぼやけ、情報の損失はありません。最終的なファイルは視覚的にBMPと同一ですが、ディスク上の占有スペースは3分の1から5分の1になります。',
|
|
124
|
-
},
|
|
125
|
-
{
|
|
126
|
-
type: 'paragraph',
|
|
127
|
-
html: 'BMPを書き出す古いソフトウェア(産業機械、制御システム、医療診断ソフトウェアなど)を使用している場合、PNGへの変換は最善の決断です。PNGは、すべての最新プログラムと完全に互換性があり、完璧な色の正確さを維持し、最大5倍少ないスペースしか占有しません。これは、最もシンプルで安全な移行方法です。',
|
|
128
|
-
},
|
|
129
|
-
{
|
|
130
|
-
type: 'title',
|
|
131
|
-
text: '使用例と変換後のPNGの互換性',
|
|
132
|
-
level: 3,
|
|
133
|
-
},
|
|
134
|
-
{
|
|
135
|
-
type: 'list',
|
|
136
|
-
icon: 'mdi:check-circle',
|
|
137
|
-
items: [
|
|
138
|
-
'正確な色が保持されたスクリーンショットやインターフェイスグラフィックス。',
|
|
139
|
-
'技術文書の画像やソフトウェアの図表。',
|
|
140
|
-
'CAD、産業システム、およびレガシーソフトウェアからのエクスポート。',
|
|
141
|
-
'透明度が追加されたロゴやビジュアルアイデンティティ要素。',
|
|
142
|
-
'Adobe Photoshop、GIMP、Figma、およびすべての最新エディタと互換性があります。',
|
|
143
|
-
],
|
|
144
|
-
},
|
|
145
|
-
{
|
|
146
|
-
type: 'title',
|
|
147
|
-
text: '結論:PNGはBMPが常にそうあるべきだった姿です',
|
|
148
|
-
level: 3,
|
|
149
|
-
},
|
|
150
|
-
{
|
|
151
|
-
type: 'paragraph',
|
|
152
|
-
html: 'BMPからPNGへの変換は、画像ファイルの最も自然な近代化です。同じロスレス品質、高い互換性、透明度のサポート、そして3分の1から5分の1の軽量化。当ツールは、サーバーにファイルを一切アップロードすることなく、ブラウザ上で直接数ミリ秒でこの変換を実行します。',
|
|
153
|
-
},
|
|
154
|
-
];
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
export const content: BmpAPngLocaleContent = {
|
|
158
|
-
slug,
|
|
159
|
-
title,
|
|
160
|
-
description,
|
|
161
|
-
ui,
|
|
162
|
-
seo,
|
|
163
|
-
faq,
|
|
164
|
-
bibliography,
|
|
165
|
-
howTo,
|
|
166
|
-
schemas: generateSchemas({ title, description, inLanguage: 'ja', faq, howTo }),
|
|
167
|
-
};
|
|
18
|
+
bibliographyTitle: '参考文献',
|
|
19
|
+
faqTitle: 'よくある質問',
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
const faq: BmpAPngLocaleContent['faq'] = [
|
|
23
|
+
{
|
|
24
|
+
question: 'BMPとPNGの主な違いは何ですか?',
|
|
25
|
+
answer:
|
|
26
|
+
'BMPもPNGもロスレス(無損失)形式です。違いは最適化にあります。PNGは現代的な圧縮アルゴリズムを使用して、BMPよりも5倍から10倍少ないメモリ容量で同じ画像を保存できます。',
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
question: '変換は本当にプライベートですか?',
|
|
30
|
+
answer:
|
|
31
|
+
'はい。すべての画像処理はお使いのコンピュータで行われます。ローカルでの転送中にファイルにアクセスできる人は誰もいません。',
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
question: 'この場合、なぜJPEGではなくPNGなのですか?',
|
|
35
|
+
answer:
|
|
36
|
+
'BMPファイルをお持ちの場合、その画像には正確な色が含まれているからです。BMPを非可逆標準のJPGに変換すると、鮮明な色が損なわれてしまいます。PNGはその忠実度を保護します。',
|
|
37
|
+
},
|
|
38
|
+
];
|
|
39
|
+
|
|
40
|
+
const howTo: BmpAPngLocaleContent['howTo'] = [
|
|
41
|
+
{
|
|
42
|
+
name: '写真を読み込む',
|
|
43
|
+
text: 'BMPソースファイルを、ウェブ要素のドロップゾーンへ安心して移動させてください。',
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
name: 'ネットワーク送信なしで変換',
|
|
47
|
+
text: 'HTML5のJavaScriptによってローカルで行われるクリーンな処理を、わずか1秒で実感してください。',
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
name: '純粋なPNGを入手',
|
|
51
|
+
text: 'PNG形式の複製を個別に、または圧縮パッケージとしてダウンロードしてください。',
|
|
52
|
+
},
|
|
53
|
+
];
|
|
54
|
+
|
|
55
|
+
const seo: BmpAPngLocaleContent['seo'] = [
|
|
56
|
+
{
|
|
57
|
+
type: 'title',
|
|
58
|
+
text: 'BMPからPNGへのコンバーター:BMP形式のロスレスな置き換え',
|
|
59
|
+
level: 2,
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
type: 'paragraph',
|
|
63
|
+
html: 'BMPは非圧縮形式であり、PNGと比較して技術的な利点がないまま、膨大なスペースを占有します。どちらもロスレス形式であり、各ピクセルを絶対的な正確さで保存します。しかし、PNGはDeflateアルゴリズムによるロスレス圧縮を追加し、視覚情報を1ビットも犠牲にすることなく、ファイルサイズを3分の1から5分の1に削減します。PNGは、本質的にBMPが常に目指していた姿と言えます。',
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
type: 'title',
|
|
67
|
+
text: 'BMP vs PNG:同じ品質、劇的に異なるサイズ',
|
|
68
|
+
level: 3,
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
type: 'paragraph',
|
|
72
|
+
html: 'BMPとPNGの根本的な違いは画像品質ではなく(どちらもロスレスです)、ストレージの効率にあります。BMPはピクセルを生のまま保存します。圧縮なし、最適化なし、スペースへの配慮なしです。対照的に、PNGは繰り返されるピクセルパターンを分析し、ZIPで使用されているのと同じアルゴリズムであるDeflateを使用してコンパクトにエンコードします。',
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
type: 'paragraph',
|
|
76
|
+
html: '優れた圧縮性能に加えて、PNGはBMPにはなかった機能を備えています。それは、透明度のための完全なアルファチャンネルです。スクリーンショット、インターフェイスグラフィックス、ロゴ、技術図面など、これらすべての種類の画像は、色値を正確に維持しながらファイルサイズを元の何分の一かに削減できる、PNGへの変換から大きな恩恵を受けます。',
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
type: 'title',
|
|
80
|
+
text: 'アーキテクチャの比較:ローカル vs クラウド',
|
|
81
|
+
level: 3,
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
type: 'comparative',
|
|
85
|
+
items: [
|
|
86
|
+
{
|
|
87
|
+
title: 'クラウドコンバーター',
|
|
88
|
+
description: '第三者のサーバーでBMPファイルを処理するサービス。',
|
|
89
|
+
icon: 'mdi:cloud-upload',
|
|
90
|
+
pointIcon: 'mdi:close-circle-outline',
|
|
91
|
+
points: [
|
|
92
|
+
'作業画像がインターネット上を移動する',
|
|
93
|
+
'待機時間はBMPのサイズに比例する',
|
|
94
|
+
'無料プランでのサイズ制限',
|
|
95
|
+
'ファイルの分析や保持のリスク',
|
|
96
|
+
],
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
title: '当サイトのローカルアーキテクチャ',
|
|
100
|
+
description: 'Vanilla JSテクノロジーを使用してハードウェア上で直接処理。',
|
|
101
|
+
icon: 'mdi:laptop-mac',
|
|
102
|
+
highlight: true,
|
|
103
|
+
points: [
|
|
104
|
+
'BMPはローカルで処理され、デバイスの外に出ることはない',
|
|
105
|
+
'ミリ秒単位の即時変換',
|
|
106
|
+
'サイズ制限やファイル数の制限なし',
|
|
107
|
+
'完全なプライバシー:0バイトが外部に送信される',
|
|
108
|
+
],
|
|
109
|
+
},
|
|
110
|
+
],
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
type: 'title',
|
|
114
|
+
text: '技術的なBMPからPNGへのローカル変換の仕組み',
|
|
115
|
+
level: 3,
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: 'paragraph',
|
|
119
|
+
html: 'プロセスにはHTML5のCanvas APIが使用されます。BMPファイルはブラウザの<code>FileReader</code> APIで読み取られ、メモリ内でBlobとしてデコードされます。そのBlobは、不可視のHTML5キャンバス上に描画されます。次に、<code>toDataURL(\'image/png\')</code>メソッドがブラウザ固有のPNG圧縮アルゴリズムを適用し、結果のファイルを生成します。',
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
type: 'paragraph',
|
|
123
|
+
html: 'JPGへの変換とは異なり、PNGへの変換は完全にロスレスです。元のBMPの各色値は、生成されるPNGで正確に保持されます。ノイズの発生、エッジのぼやけ、情報の損失はありません。最終的なファイルは視覚的にBMPと同一ですが、ディスク上の占有スペースは3分の1から5分の1になります。',
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
type: 'paragraph',
|
|
127
|
+
html: 'BMPを書き出す古いソフトウェア(産業機械、制御システム、医療診断ソフトウェアなど)を使用している場合、PNGへの変換は最善の決断です。PNGは、すべての最新プログラムと完全に互換性があり、完璧な色の正確さを維持し、最大5倍少ないスペースしか占有しません。これは、最もシンプルで安全な移行方法です。',
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
type: 'title',
|
|
131
|
+
text: '使用例と変換後のPNGの互換性',
|
|
132
|
+
level: 3,
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
type: 'list',
|
|
136
|
+
icon: 'mdi:check-circle',
|
|
137
|
+
items: [
|
|
138
|
+
'正確な色が保持されたスクリーンショットやインターフェイスグラフィックス。',
|
|
139
|
+
'技術文書の画像やソフトウェアの図表。',
|
|
140
|
+
'CAD、産業システム、およびレガシーソフトウェアからのエクスポート。',
|
|
141
|
+
'透明度が追加されたロゴやビジュアルアイデンティティ要素。',
|
|
142
|
+
'Adobe Photoshop、GIMP、Figma、およびすべての最新エディタと互換性があります。',
|
|
143
|
+
],
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
type: 'title',
|
|
147
|
+
text: '結論:PNGはBMPが常にそうあるべきだった姿です',
|
|
148
|
+
level: 3,
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
type: 'paragraph',
|
|
152
|
+
html: 'BMPからPNGへの変換は、画像ファイルの最も自然な近代化です。同じロスレス品質、高い互換性、透明度のサポート、そして3分の1から5分の1の軽量化。当ツールは、サーバーにファイルを一切アップロードすることなく、ブラウザ上で直接数ミリ秒でこの変換を実行します。',
|
|
153
|
+
},
|
|
154
|
+
];
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
export const content: BmpAPngLocaleContent = {
|
|
158
|
+
slug,
|
|
159
|
+
title,
|
|
160
|
+
description,
|
|
161
|
+
ui,
|
|
162
|
+
seo,
|
|
163
|
+
faq,
|
|
164
|
+
bibliography,
|
|
165
|
+
howTo,
|
|
166
|
+
schemas: generateSchemas({ title, description, inLanguage: 'ja', faq, howTo }),
|
|
167
|
+
};
|