Javascript 为图片生成帧
我正在创建图库,我想在图片周围创建边框 但这张图片必须是可伸缩的。此帧的宽度和高度由图像的宽度和高度生成 并且必须有可能通过JavaScript改变帧的高度 谢谢Javascript 为图片生成帧,javascript,html,css,frame,image,Javascript,Html,Css,Frame,Image,我正在创建图库,我想在图片周围创建边框 但这张图片必须是可伸缩的。此帧的宽度和高度由图像的宽度和高度生成 并且必须有可能通过JavaScript改变帧的高度 谢谢 PS:首先,我必须有可能通过JavaScript使框架变窄。这可能非常棘手 如果您使用的是支持CANVAS的现代浏览器,请查看此演示,它可以满足您的需求: 否则,您将需要创建8个图像(4个角和4个边),其中边的制作方式可以使它们平铺以调整到所需的大小 下一个技巧是如何构建框架。你可以在图片周围手工创建div/table来产生这种效果
PS:首先,我必须有可能通过JavaScript使框架变窄。这可能非常棘手 如果您使用的是支持CANVAS的现代浏览器,请查看此演示,它可以满足您的需求: 否则,您将需要创建8个图像(4个角和4个边),其中边的制作方式可以使它们平铺以调整到所需的大小
下一个技巧是如何构建框架。你可以在图片周围手工创建div/table来产生这种效果,但这会非常笨重而且不干净。您最好使用jQuery(或您最喜欢的库)通过CSS类(例如“fancyFrame”)钩住页面上的所有图像,并根据需要使用HTML标记将它们包装起来,该标记利用您在上面通过CSS创建的图像。这可能非常棘手 如果您使用的是支持CANVAS的现代浏览器,请查看此演示,它可以满足您的需求: 否则,您将需要创建8个图像(4个角和4个边),其中边的制作方式可以使它们平铺以调整到所需的大小 下一个技巧是如何构建框架。你可以在图片周围手工创建div/table来产生这种效果,但这会非常笨重而且不干净。您最好使用jQuery(或您最喜欢的库)通过CSS类(例如“fancyFrame”)钩住页面上的所有图像,并根据需要使用HTML标记将它们包装起来,该标记利用您通过CSS创建的上述图像。您可以使用它,使用CSS和PNG为图像创建自动调整大小的阴影。您可以修改该技术以创建可调整大小的框架 您将需要四个div和四个图像。需要以45度角切割拐角,且具有透明度:
- 图1-框架的左上角和左上角
- 图2-框架的右上角和右侧
- 图3-框架的左下角和底部
- 图4-框架右下角
- 图1-框架的左上角和左上角
- 图2-框架的右上角和右侧
- 图3-框架的左下角和底部
- 图4-框架右下角
- 用Javascript缩小框架确实是最简单的部分。
一旦您设置了HTML/CSS,使其可以缩放,您就可以使用Javascript设置宽度,如下所示:
var photo = document.getElementById('photoFrame');
photo.width = '200px';
用Javascript缩小框架是最简单的部分,真的。 一旦您设置了HTML/CSS,使其可以缩放,您就可以使用Javascript设置宽度,如下所示:
var photo = document.getElementById('photoFrame');
photo.width = '200px';
如果我是你,我会确保我可以重用(重复)图像,然后我会这样做:
<div id="frame">
<div id="top-left"></div>
<div id="top"></div>
<div id="top-right"></div>
<div id="left"></div>
<div id="imageSpace"></div>
<div id="right"></div>
<div id="bottom-left"></div>
<div id="bottom"></div>
<div id="bottom-right"></div>
</div>
其中:#左上角、右上角、左下角、右下角
使用角图像作为背景,并设置了宽度和高度
和#上、#右、#下、#左
使用重复图像作为背景
检查附加的图像,我把线,你们应该削减原始帧图像
此方法允许您更改#上/下和#左/右的宽度,以增加帧的大小
如果我是你,我会确保可以重复使用(重复)图像,然后我会这样做:
<div id="frame">
<div id="top-left"></div>
<div id="top"></div>
<div id="top-right"></div>
<div id="left"></div>
<div id="imageSpace"></div>
<div id="right"></div>
<div id="bottom-left"></div>
<div id="bottom"></div>
<div id="bottom-right"></div>
</div>
其中:#左上角、右上角、左下角、右下角
使用角图像作为背景,并设置了宽度和高度
和#上、#右、#下、#左
使用重复图像作为背景
检查附加的图像,我把线,你们应该削减原始帧图像
此方法允许您更改#上/下和#左/右的宽度,以增加帧的大小
有趣的是,我在ImageKind.com工作的时候就必须做这件事。作为参考,如果您去那里的框架店,例如,转到步骤4(添加垫子)并单击“调整宽度”,则会有一个滑块或多或少地执行您所描述的操作
我最初有两个嵌套的div,背景图像是相对的L形框架。一个小萤火虫检查显示他们已经把它变成了一张桌子。我相信效率会更高,因为侧片可以平铺。有趣的是,我在ImageKind.com工作时就必须做这件事。作为参考,如果您去那里的框架店,例如,转到步骤4(添加垫子)并单击“调整宽度”,则会有一个滑块或多或少地执行您所描述的操作
我最初有两个嵌套的div,背景图像是相对的L形框架。一个小萤火虫检查显示他们已经把它变成了一张桌子。更有效的是,我确信,因为侧块可以平铺。Nice image,你能给一个到源的链接吗?Nice image,你能给一个到源的链接吗?如果我使用背景:url(shadowAlpha.png)-那么不能使帧比例缩小。如果你剪辑溢出,你可以。然后角点将覆盖边缘,整个框架将自动调整大小以适合图像