ttp://d.hatena.ne.jp/Yappy/20071001/1191258148
などを参考にしたのですが、「channels[0].histogram」のところで取得するヒストグラムのデータが正しく取得できません。(0か255になる)何がいけないのでしょうか?
環境:OSX(10.6.8)
PhotoShop:Ver12.0.4 x64
Windows環境(SP3、PhotoShop Ver12.0 x32)では、正しく動作します。
0~255まで順番にピクセル数を調べていき、0以外の値が見つかればそれが色の輝度になります。この方法で、R、G、Bの3つのチャンネルについて調べていけば、ピクセル単位の色を読み出せる、というわけです。
ヒストグラムはhistogram配列に入っているので、0~255まで配列内容を調べていけばピクセルの輝度が取得できます。たとえばR(赤)の輝度は以下のようにして読み出せます。
data = activeDocument.channels[0].histogram;
for (i=0; i<256; i++) if (data[i] > 0) { R = i; break; }
ASCII.jp:PhotoshopのフィルターをJavaScriptで作る!|古籏一浩のJavaScriptラボ
ヒストグラムが0以外になったところが輝度です。
ご回答有難うございます。
ヒストグラム配列の添え字が0か、255のところにしか反応しないのです。
質問中の「(0か255になる)」とは、明度(ヒストグラムの添え字)が0か255にしかならないという意味で捉えて頂ければ幸いです。
こういうバグのひとつだったり
2012/08/29 12:06:01バグだったら、、、、どうしようもないのでしょうか・・・(泣)
2012/08/29 15:04:56