2017-06-09 56 views
0

我使用的是laravel 5.2框架,我使用的laravel干預包對我來說運行良好。現在我面臨一個問題,我不知道我做錯了什麼。請幫助: -在干預包中如何在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; 

現在,當我試圖這些尺寸3024 * 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我想在應該是可見的,並在中心也調整大小的圖像上的watremark圖像 – 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檢查更新的答案有3種方式調整水印的大小,使用一個適合您的需求。 – Froxz

+0

是的,它工作的第三種方法,謝謝:) – kunal