見出し画像

JPG画像の解像度(DPI)変更アプリの開発(1)ーニーズ・企画

本シリーズではJPG画像の解像度(DPI)の値を変更するプログラム(DPI Changer)の開発方法について解説します。

ソフト「DPI Changer」はすでにvectorで無料公開しているものです。
DPI値変更(https://www.vector.co.jp/soft/winnt/art/se516290.html)
使い方説明ページ

画像3

DPI Changer  (DL:1485)

ニーズの提出

DPI(ディーピーアイ、DPI)とは

dots per inchの略で、ドット密度の単位である。1インチ(1平方インチではない)の幅の中にどれだけのドットを表現できるかを表す。なお、dpiで表したドット密度の数値を、単にdpiと呼ぶことがある。

プリンターや走査(スキャン)の性能表示として用いられる。また、プリントサイズと対にすることでコンピュータ上で用いる画像データの精度を表す単位としても用いられる。ピクセル数を表すppi(pixels per inch)と区別して用いられる。

通常、良好な視認結果を得られるドット密度としては、コンピュータ用ディスプレイにおいては72dpiから96dpi程度が想定されている場合が多い。この数字は、1981年発売のXerox Starで72dpi(1984年発売の初代Macintoshが同じ72dpi)、1985年発売の初代Microsoft Windowsで96dpiが標準とされたことに由来する。Adobe PhotoshopなどMacintosh由来のソフトウェアが多用されるグラフィック業界では特に72dpiが標準とされる場合が多い。

雑誌など印刷物においては、最低300dpiが必要である[1]。特に、漢字の字形は英語のアルファベットよりも一般に緻密であるため、視認性を高めるには高い解像度が必要となる。また、カラーと違ってアンチエイリアス効果が期待できないモノクロ印刷では、通例600dpi以上が推奨されている

印刷物に用いるデータのdpiが低い場合
は、実際に印刷した場合にジャギーあるいはボケとなって現れるため、「コンピュータの画面で見た場合は綺麗に見えても、印刷してみるとギザギザしたりボケたりして見える」といった事態を招くことになる。

※wikiより(https://ja.wikipedia.org/wiki/Dpi)

分かりずらいかもしれませんが、画像というのは色んな色の無数の点を打つことで表現しています。

画像1

DPIというのは、「1インチ(=2.54cm)の中に打つ点の個数」を指します。この点を「ドット(Dot)」と呼びます。

上記wikiにも書いてますが、DPIはモニター上に画像を表示する場合は関係ない値です。紙に画像を印刷する場合DPI値が低すぎるとジャキー、ボケとなってしまいます。決まった幅の空間に点をより多く打てば打つほど画像が鮮明になることは理解できるでしょう。

実際に画像を印刷物に印刷するとき、プリンターはこのDPI値を参照しています。「DPI値が大きいほど良い」といって、なんでもかんでもとにかく大きい値を設定するわけにはいけません。プリンターのスペックとかも考慮しながら適正な数値を設定すべきです。

最適なDPI値を設定した画像を印刷装置に渡すことで、要求に満足できる品質の印刷物が出来上がります。

残念なことに、windowsには画像のDPI値を簡単に参照はできますが、更新する機能は搭載されていません

画像2

画像の解像度(DPI)を参照する方法(winows)

「DPI Changer」はJPG画像内に記載されているDPI値を変更する機能を持つソフト(シンプルなプログラム)です。

企画

DPI Changerは友たちに「JPG画像のDPIを変更するアプリを作ってくれ」という要請を受けて開発したものです。ただで作ってあげたものなので、一応インターネットにも無料公開しています。

画像にはBMPやPNG等のフォーマットもありますが、JPGだけの要請だったので、JPG(JPEG)フォーマットだけをサポートすることにしました。

画像のフォーマットにはBMP, JPG, PNG, GIFなどいろいろあります。
今の時代、BMPフォーマットの画像はもうあんまり見られなくなってきていますね。
又、GIFフォーマットは主にwebページに表示する目的で開発されているもので、印刷物にはあんまり使用されてないでしょう。
将来のことを考えたらJPG、PNGをサポートしたほうがいいですが、今回はJPGのみサポートすることにしました。
実際にIT会社では企画段階で自社のビジョンと技術力に基づいて、開発するアプリの規模開発スケジュールリリース日時開発体制スコープ費用の見積もり、リスクの想定・管理等など、沢山の作業を行う必要があります。それぞれの作業で色々なドキュメントを作成し、上司に報告・レビュー・プロジェクトの立ち上げを決めてもらいます(プロジェクトの立ち上げが決まったら又リソース(人員、デバイス)の調達なども必要)。このような作業をプロジェクトマネジメント(Project Management)といい、携わる要員はプロジェクトマネージャ(PM)と呼びます。
個人開発者の場合は、IT会社のように上記のすべてのドキュメントを作成し、レビュー・実施判定などを行うまではしない(しようとしても余力がない)と思いますが、でも実際に開発を始める前に「何を作るんだ」、「いつまで必ず完成させるんだ」、「俺一人で?それともxxxの作業は手伝ってくれる人探すか」、「必要な設備購入、協力メンバー探し等にはどれぐらいのお金がかかりそう」、「開発したアプリはいくらで販売するか」といった内容は大体頭の中で考えているでしょう。

会社の場合はしっかりとドキュメントを作成しなければならないですが、個人の場合は省略できるドキュメントはすべて省略し、開発を優先にする「アジャイル開発」方式を取るのが普通でしょう。

「DPI Changer」は、友たちにアプリを作ってあげたい気持ちで開発したものだけなので、企画段階では下記のようなことを決めています:
 ・JPGフォーマットの画像の解像度(DPI)を簡単に変更できる
 ・JPG(JPEG)フォーマットにも下記のような2種類のフォーマットがあるので、両方すべて対応する
   ①JFIF
   ②EXIF
   ※上記以外のフォーマットがあれば、対象外にする

まとめ

本記事では「DPI Changer」を開発することになるまでの流れを大まかに解説しました。

次回はDPI Changerの設計について解説します。

IT会社での開発だと、ほとんどの開発者の方は次回から解説する「プロジェクトの設計」段階から参加すると思うので、プロジェクトの企画段階とプロジェクトの立ち上げ判定会議等には触れたことないでしょう。「IT業界に入る!」と決めた時から、普段の真面目な作業で技術力を磨ぎながら、「プロジェクト開発の上流設計」で活躍するキャリアになるべきだと思います。

では
バイバイ! Have a nice day!

この記事が気に入ったらサポートをしてみませんか?