HTML5キャンバスピクセル処理を通じて効果を適用する画像処理プログラムを書いています。しきい値処理、Vintaging、およびColorGradientピクセル操作を達成しましたが、信じられないほど画像のコントラストを変更できません。私は複数の解決策を試しましたが、画像の明るさが多すぎてコントラスト効果が低くなります。これらの効果をネイティブに実現しようとしているため、Javascriptライブラリを使用する予定はありません。
基本的なピクセル操作コード:
var data = imageData.data;
for (var i = 0; i < data.length; i += 4) {
//Note: data[i], data[i+1], data[i+2] represent RGB respectively
data[i] = data[i];
data[i+1] = data[i+1];
data[i+2] = data[i+2];
}
ピクセル操作の例
値はRGBモードです。つまり、data[i]は赤色です。したがって、data [i] = data [i]*2の場合; そのピクセルの赤チャンネルの明るさは2倍に増加します。例:
var data = imageData.data;
for (var i = 0; i < data.length; i += 4) {
//Note: data[i], data[i+1], data[i+2] represent RGB respectively
//Increases brightness of RGB channel by 2
data[i] = data[i]*2;
data[i+1] = data[i+1]*2;
data[i+2] = data[i+2]*2;
}
*注:コードを完成させるようにお願いしているわけではありません!それはただの恩恵です!ピクセル操作のコントラストがどのように可能であるかを示すアルゴリズム(擬似コードでさえ)を求めています! 誰かがHTML5キャンバスの画像コントラストに優れたアルゴリズムを提供できれば幸いです。