1

次の問題があります。

<img>サイトの要素に写真があります。それらはすべて srgb 色空間にあり、この情報はそれらすべてに含まれています。
Safari、Chrome、Firefox と同じように表示されます。
次に、を使用してキャンバス オブジェクトに画像を読み込みますdrawImage(imageObject)。これらの画像は<img>、chrome および firefox の -elements のものとまったく同じように見えます (これは、私が知る限り、w3c が意図した動作です)。
ただし、キャンバス要素のこれらの画像は、サファリでは異なって見えます! 私が見つけたものから、色空間が削除/無視されているように見えるため、色が非常に悪くシフトしています。

OSX 10.8.2 で Safari 6.0.2 を使用しています

この悪い動作の既知の回避策はありますか?

ありがとうございました!

4

1 に答える 1

1

仕様は次のように述べています。

キャンバス API は、次の 2 つのポイントでのみ色補正を実行する必要があります: 独自のガンマ補正と色空間情報を使用して画像をキャンバスにレンダリングするとき、キャンバスで使用される色空間に画像を変換するとき (たとえば、2D コンテキストの drawImage() メソッドを使用) HTMLImageElement オブジェクトを使用する場合)、および実際のキャンバス ビットマップを出力デバイスにレンダリングする場合。

http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#color-spaces-and-color-correction

それはSafariのバグです。

独自のフィルターを実装して Safari の色空間に一致するようにピクセルの色を手動で調整しない限り、回避策はないと思います。

于 2012-11-16T00:16:06.077 に答える