2016-05-26 17 views
1

WideImageが組み込まれたCMSを使用していますが、これを変更するスコープはありませんが、300x300の画像を生成する必要がある場合に対処しています。WideImage - 透明な背景を持つキャンバス

しかし、さまざまな透明度のjpgとpng形式で約100x100でアップロードされた画像。

私は300x300のキャンバスを作成しようとしていますが、その内部に100x100の画像を配置していますが、キャンバスと透明の両方を透明にし、透明にしておくために画像を上に置きます。私は

$image = WideImage::loadFromFile($this->local_path); 

$canvas = WideImage::createTrueColorImage(300, 300); 
$canvas_bg = $canvas->allocateColor(255, 255, 255); 
$canvas->fill(0, 0, $canvas_bg); 

$resized_image = $canvas->merge($image); 

を持って

は、しかし、これは明らかにちょうどキャンバスに白い背景を追加し、私はそれを透明にする方法を自分のドキュメントから把握傾けます。

おかげについてどのように

答えて

0

$image = WideImage::loadFromFile($this->local_path); 
$resized_image = $image->resizeCanvas(300, 300, 0, 0); 

あなたはXとYの新しいキャンバス内の画像の場所だけでなく、その幅と高さを指定することができます。 $image->resizeCanvas(300, 300, "center", "center")はかなりうまく動作します。

+0

これは、新しいキャンバスの透明度の欠如の問題を解決しません。これは、 - > http://i.imgur.com/kHp1CDq.jpg – Owen

+0

Strangeのようなものを生成します。それは私のためにうまく動作します。 –

+0

これはうまくいかない、あまり役に立たない画像の例です。http://s33.postimg.org/c6lfmia7j/wu9100.png – Owen

関連する問題