アプリ版:「スタンプのみでお礼する」機能のリリースについて

8ピクセル×8ピクセルの白黒二値画像を, 0を白, 1 を黒に対応させ、左上から 横書き式に読んで2進数にしてから 16進数に変換すると 3C42A581A599423C(16) になった. この画像を描いてください.

A 回答 (2件)

Photoshop持ってないので、rubyで書いてみました。


ruby -e "'3C42A581A599423C'.scan(/../).collect{|x|puts ('0000000' + x.to_i(16).to_s(2)).split(//)[-8,8].collect{|i| i== '0' ? '白' : '黒'}.join('')}"

白白黒黒黒黒白白
白黒白白白白黒白
黒白黒白白黒白黒
黒白白白白白白黒
黒白黒白白黒白黒
黒白白黒黒白白黒
白黒白白白白黒白
白白黒黒黒黒白白

smiley.
「情報処理の画像生成の問題について」の回答画像1
    • good
    • 0

Photoshop を持っていないので、アプリ上で動く Photoshop Script に詳しくないので、画像処理部分だけをちょっとボカした形で回答します。



var 画像文字列 = "3C42...";
for (y=0; y<縦幅; y++) {
for (x=0; x<横幅; x++) {
var p = (横幅*y + x) / 4;
var q = (横幅*y + x) % 4;
var r = !!(parseInt(画像文字列.charAt(p), 16) & (8 >> q));
var c = r? 黒色: 白色;
点を描画(x, y, c);
}
}
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!