2017-06-09 13 views
0

私はlaravel 5.2フレームワークを使用しています。私はlaravelの介入パッケージを使用しています。ここで私は1つの問題に直面しています。私は何が間違っているのか分かりません。助けてください: - 私は3024 * 2016ピクセルの透かしが表示されていないこれらのサイズをしようとしたとき、私はその後、画像をズームするとき介入パッケージのlaravel 5.2に透かし画像を追加するには?

$myimage = Image::make(storage_path('app/images/test1.jpg')); 
//Suppose $imyimage width is 3024 and height is 2016 
$actualwidth = 3024; 
$actualheight = 2016; 

が、 今私は、幅と高さ1600 * 1027ピクセル、それがあると表示されている間私はズームなしで中央に私を示して 3024 * 2016ピクセルまたは画像をズームして任意のピクセルで中央にウォーターマークが欲しいです。

$watermarkHeight = Image::make(storage_path('watermark.png'))->height(); 
$watermarkWidth = Image::make(storage_path('watermark.png'))->width(); 
$x = ($actualwidth - $watermarkWidth)/2; 
$y = ($actualheight - $watermarkHeight)/2; 
$img = Image::make(storage_path('app/images/test1.jpg')); 
$img->insert(storage_path('watermark.png'), 'center',round($x),round($y)); 
$img->resize($actualwidth,$actualheight)->save(storage_path('app/images/watermark-test.jpg')); 

私が間違っていることを教えてください。私は右のあなたの質問を理解している場合おかげで事前:)

+0

である、あなたは、異なる幅/高さの画像に透かしを入れて試してみて、最初のイメージに基づいてこのウォーターマークを中央に配置してサイズを変更する必要がありますか? '、round($ x)、round($ y)'この値が高いため、あなたはそれを見ません。 – Froxz

+0

はい正確に@Froxz私はウォーターマークの画像を表示する必要がありますまた、中心に表示されるサイズ変更された画像上でも – kunal

+0

何が解決策です@Froxz私はサイズが何であっても、私は画像を中心にして表示したい – kunal

答えて

0

に、ここにあなたの質問は私のために明確ではない溶液(テストしていません)

$watermark = Image::make(storage_path('watermark.png')); 
$img = Image::make(storage_path('app/images/test1.jpg')); 
//#1 
$watermarkSize = $img->width() - 20; //size of the image minus 20 margins 
//#2 
$watermarkSize = $img->width()/2; //half of the image size 
//#3 
$resizePercentage = 70;//70% less then an actual image (play with this value) 
$watermarkSize = round($img->width() * ((100 - $resizePercentage)/100), 2); //watermark will be $resizePercentage less then the actual width of the image 

// resize watermark width keep height auto 
$watermark->resize($watermarkSize, null, function ($constraint) { 
    $constraint->aspectRatio(); 
}); 
//insert resized watermark to image center aligned 
$img->insert($watermark, 'center'); 
//save new image 
$img->save(storage_path('app/images/watermark-test.jpg')); 
+0

画像の透かしは非常に非常にズームです – kunal

+0

@kunal check updated答え透かしのサイズを変更する3つの方法があり、必要に応じて使い分けてください。 – Froxz

+0

はいそれは3番目のメソッドありがとうございます:) – kunal

関連する問題