2011-06-19 18 views
1

モジュールのように画像の色を塗りつぶすための拡張モジュールはありますか?私はすべて同じサイズだが、すべての画像の周りに白いスペースを持っている画像の1000を持っている代わりに、Photoshopを使用する代わりに、私はその画像を処理するためにPHPを使用することができます(茶色 - 背景は正弦波ではなく白色)。拡張子があれば私に提案してください。Magento画像処理拡張

ありがとうございます。

答えて

4

すべての画像で同じ背景を使用する場合は、背景色を適用するマゼンタクラスを上書きできます。

ファイルは、このprotected $_backgroundColor = array(255, 255, 255);のように見え、あなたが希望の色のRGB値を指定するコードを探すapp/code/core/Mage/Catalog/Model/Product/Image.php

です。

+0

にimagmagickを統合する方法を教えてくださいすることができます - ( 'イメージ'、$ _製品)>のinit - ?>をconstrainOnly(TRUE) - > keepAspectRatio(TRUE) - > keepFrame(FALSE) - >サイズを変更(600、ヌル) ?> これを使用することで、私は自分の問題を半分解決しました。そして今、私はバックグラウンドカラーアップデート、おかげでブラックキャップをします。 – Elamurugan

+0

@blackcaps私は品質を落とさずに画像をアップロードすることについて知りたいです。どうやってするか? –

3

ImageMagickをご覧ください。私はあなたがしようとしていることを正確には使っていませんが、他の種類のバッチ画像処理に使っています。コマンドラインから実行できますが、いくつかのプログラミング言語用のAPIもあります。

あなたがしようとしていることについては、-fill、-floodfill、-fuzzオプションを見てみましょう。 http://www.imagemagick.org/script/command-line-options.php#fill

+0

あなたはヘルパー( 'カタログ/イメージ')>の$ this - エコーPHP Magentoのサイト – fresher

1

他の理由がない限り、その空白を取り除くことを検討する必要があります。製品イメージを拡大縮小します。

これはPhotoshopで実現した場合に最も効果的です。白が絶対的にはっきりと白であれば、左上のピクセルを取り込んで切り抜くことができます。

もう1つの方法として、png画像を使用する方法がありますが、これはPhotoshopの画像とスキルによって異なりますが、pngで透明度を使用して画像に枠線を付けることはできません。

また、Photoshopやimagemagickでは、製品ページイメージとは別の独自のサムネイルイメージを作成することを検討したい場合があります。これにより、シャープなどのフィルタを適用して、競合他社よりも上にある商品ページの画像を取得することができます。

@jmspldnlで指摘したように、imagemagickはコマンドラインでもphp拡張子でも使用できます。コマンドラインでは、あなたのオプションに満足すれば、PHPコードで再作業するのではなく、 'passthru()'を使うことができ、コマンドラインから作業したものを実行することができます。 。

次回は、画像フォルダと、最終日に変更/追加されたプロセスと画像を監視するcronジョブを置くことができます。これにより、単に画像をアップロードし、システムに作業をさせることが容易になります。

+0

はいMathew、画像の大部分は高さと幅が不揃いなので、magentoは比率に基づいてサイズを変更しました。だから、私は欲しいものをサイズ変更して、今はOKと思われますが、間違いなく将来私はコードで正しいイメージを求めています。ありがとう – Elamurugan

2

次の方法で問題を解決しました。

<?php 

echo $this->helper('catalog/image')->init($_product, 'image') 
->constrainOnly(TRUE) 
->keepAspectRatio(TRUE) 
->keepFrame(FALSE) 
->resize(600,null) 

?> 

私はここから入手しました。

http://blog.chapagain.com.np/magento-resize-image/