Excelフルカラードット絵で写真を描く


ホーム全般的な解説タイプ別の作り方よくある質問ソフトの動画解説くっきりんこブログアクセスお問い合わせ


このページの解説では以下のソフトウェアを使用します。

名称 使い方の解説ページ ダウンロードページ
デジカメまとめてフォトモザイク 動画解説 ダウンロードページ
エクセルも使います。


デジカメまとめてフォトモザイクのおまけ機能を利用してExcelフルカラードット絵で写真を描く


 でデジカメまとめてフォトモザイクとExcelを使用して、ドット絵タイプのモザイクアートをExcelワークシート上に描く方法を示しました。

 今回はモザイクアートは作りません。デジカメまとめてフォトモザイクのおまけ機能として、モザイクアートを作ることなく画像をCSVに変換する機能を付けましたので、そちらの機能を紹介します。 このページでは色数に制限を設けず、フルカラーの写真をExcelワークシート上に描いていきます。

 以下のExcelの作り方を紹介するのですが、 多くの方はこのExcelを見たときに、ワークシート上に写真を貼り付けているのだと思われたでしょう。



 そうではありません。拡大してみると以下の通りでセルを塗り潰して蝶々の写真を描いています。これはExcelドット絵の1ジャンルと言っていいのでしょうか。新しいタイプのExcelドット絵、Excelフルカラードット絵です。



 以下のYouTube動画でも説明しているのですが、再生回数が全然伸びないのでホームページで紹介することにしました。






工程の確認


 複雑な工程を踏みますので、まず工程を確認しておきます。

工程番号 内容 詳細
写真の準備 写真のサイズを600ピクセル×400ピクセルにします。
ピクセル値をCSVに書き出す デジカメまとめてフォトモザイクで、写真のピクセル値をCSV形式のファイルに書き出します。
CSVをExcelで開く CSV形式のファイルはExcelで開くことができますから、Excelで開きます。セルには色を表す数値が入力されています。
Excel VBAでセルに色を塗る セルの数値でセルを塗り潰すExcel VBAマクロを開発します。





写真の準備


 以下の写真を使用することにします。この写真のサイズは5772ピクセル×3648ピクセルです。


写真のクリックで実サイズで表示できます。



 写真の1ピクセルがExcelのセル1個に相当します。5772ピクセル×3648ピクセルですと写真サイズが大きすぎます。さすがに5772×3648個のセルを塗り潰すことはできません。メモリー不足とかリソース不足のエラーになると思います。 Excelに読み込む前に写真を縮小しておきます。Windowsに付属のペイントで開きます。



 「サイズの変更と傾斜」とします。



 「ピクセル」を選択し「水平600」「垂直400」とします。



 600×400に縮小されますから、これをJPEG画像として保存します。「名前を付けて保存」「JPEG画像」とします。JPEG画像にしたのはデジカメまとめてフォトモザイクで読み取れる形式にする必要があるからです。 デジカメまとめてフォトモザイクはJPEG画像にしか対応していません。



 チョウの写真が600ピクセル×400ピクセルに縮小されました。


写真のクリックで実サイズで表示できます。





ピクセル値をCSVに書き出し




 デジカメまとめてフォトモザイクでチョウの写真を開きます。「ファイル」「背景画像を開く」とします。



 写真を選択します。



 写真が開かれました。



 「ファイル」「ピクセル値の書き出し」「フルカラー」とします。



 「名前を付けて保存」ダイアログが表示されますからCSVファイルを保存します。



 今回はデジカメまとめてフォトモザイクの出番はここまでです。






CSVファイルをExcelで開き、開発タブを表示




 Excelで開くとこの様なファイルです。4552796、4618589、4553566、・・・といった数値が並んでいますが、この数値は色を表しています。 この数値を色に変換してセルを塗り潰せばExcelワークシート上に写真を描くことができるというわけです。



 この後VBAマクロを書いていくのですが、「開発」タブが表示されていません。「開発」タブを表示するにはファイル



 オプション



 リボンのユーザー設定、開発にチェックです。



 「開発タブ」が表示されました。






Excel VBAを書いていく




 ExcelでVBAマクロを書いていくわけですが、まず、A1のセルだけを塗り潰すコードを書いてみます。 Cells(1,1)というのがA1セルのことですから、以下の1行を書けばA1セルをA1セルの値で塗り潰すことができます。 A1セルの値というのが4552796なのですが、これが色を表す数字です。



 全体では縦方向に1から400、横方向に1から600の範囲のセルを対象にしていますから、 下図のように書き直しますと全体を塗り潰すことができます。



 画面右下のスライダーで表示倍率を縮小してみるとこの様になり、うまくいっているようです。



 数値はもう必要ありませんから、セルをすべて選択して「数式と値のクリア」とします。



 セルが正方形になるように列幅を調整します。



 できました。



 Excelマクロ有効ブックの形式で保存しておきます。



 完成です。


画像のクリックで拡大表示できます。








ホームへ戻る