我想使用Laravel为图像添加框架。 例如,我有两张图像,一个图像是png框架,另一个是原始图像。
我需要将两者放在一起以形成带有框架的图像。
这是我的框架。
我的目标是可以在任何图像上放置框架。
答案 0 :(得分:1)
您可以使用带有merge-image软件包的JavaScript轻松地将图像合成在一起。
具有以下图像:
/body.png
/eyes.png
/mouth.png
您可以这样做:
import mergeImages from 'merge-images';
mergeImages(['/body.png', '/eyes.png', '/mouth.png'])
.then(b64 => document.querySelector('img').src = b64);
// data:image/png;base64,iVBORw0KGgoAA...
这将更新img
元素以显示此图像:
答案 1 :(得分:0)
这更多是关于css和html问题的 顺便说一句,您可以在CSS的border-image属性中执行此操作 HTML
<img src="https://images.unsplash.com/photo-1565013161635-98472edee347?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=750&q=80" width="50%" id="borderimg1">
CSS
#borderimg1 {
border: 10px solid transparent;
padding: 15px;
-webkit-border-image: url(border.png) 30 round; /* Safari 3.1-5 */
-o-border-image: url(border.png) 30 round; /* Opera 11-12.1 */
border-image: url(border.png) 30 round;
}
**Result**
答案 2 :(得分:0)
此线程中已经有一些出色的客户端方法,但是如果您想在服务器端进行操作,the popular Intervention Image package很方便,并且可以与Laravel一起使用。
如果图像大小不同,则必须进行一些调整大小的数学运算,但是从根本上讲,您希望insert
method覆盖一个图像。
// create new Intervention Image
$img = Image::make('public/foo.jpg');
// paste another image
$img->insert('public/bar.png');
// create a new Image instance for inserting
$watermark = Image::make('public/watermark.png');
$img->insert($watermark, 'center');
// insert watermark at bottom-right corner with 10px offset
$img->insert('public/watermark.png', 'bottom-right', 10, 10);