如何相对于视口调整画布图像
How to adjust canvas images relative to viewport
我正在尝试使画布层图像响应画布背景图像,两者都显示出良好的响应行为,但我的问题是,我想修复屏幕中心的层图像,无论屏幕大小如何。目前在重新调整我的图层图像的大小时,开始改变它的位置,这是不可取的。我想把图层图像固定在屏幕中央
这是我的html代码
<body id="body">
<canvas id="myCanvas" style="position:relative;"></canvas>
<img src="background.jpg" id="background" />
<img src="s01.jpg" id="layer" />
这是我的css
#layer {
position: fixed;
top: 0px;
margin-left: -160px;
}
img{
width:auto;
height:auto;
max-width:100%;
max-height:100%;
}
body {
/*background: #E9E9E9;*/
color: #333;
font: 1em/1.3em "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;
text-shadow: rgba(255,255,255,0.8) 0 1px 0;
text-align: center;
overflow:hidden;
}
html, body {
width:100%;
height:100%;
margin:0;
}
这是我的js
(function() {
var
htmlCanvas = document.getElementById('myCanvas'),
context = htmlCanvas.getContext('2d');
var background = document.getElementById('background');
context.drawImage(background, 0, 0, window.innerWidth, window.innerHeight);
initialize();
function initialize() {
window.addEventListener('resize', resizeCanvas, false);
resizeCanvas();
}
function redraw() {
context.strokeStyle = 'transparent';
context.lineWidth = '5';
context.strokeRect(0, 0, window.innerWidth, window.innerHeight);
var background = document.getElementById('background');
context.drawImage(background, 0, 0, window.innerWidth, window.innerHeight);
var imageObj = new Image();
imageObj.onload = function() {
context.drawImage(imageObj, 0, 0, window.innerWidth, window.innerHeight);
};
imageObj.src = 'background.jpg';
}
function resizeCanvas() {
htmlCanvas.width = window.innerWidth;
htmlCanvas.height = window.innerHeight;
redraw();
}
})();
我在这里被困了三天,仍然无法弄清楚
我在您的脚本中找不到任何问题。它写得很好。但是你只需要应用这个css规则来在视口中居中图层:
#layer {
position: fixed;
top: 0px;
left: 0;
right: 0;
bottom: 0;
margin: auto;
}
演示
相关文章:
- Phonegap-(安卓/iphone)多个图像的图像库出现问题
- 查找仅适用于原始图像的图像放大算法的名称
- 全屏背景图像+旋转图像
- 无法使用javascript插件在首次运行时加载实际图像大小(图像在刷新后加载)
- 用Javascript替换图像和图像标题/alt文本
- 无法设置图像背景图像
- 单击图像更改图像并调用函数
- 使用javascript只滚动一个图像进行图像滚动
- 如何使用相同大小的Lazy-Load图像修复图像环绕大小
- 使用javascript中的if和else语句来显示图像(如果图像不存在,则显示其他图像)
- 响应图像tinymce图像链接
- Javascript-根据所选图像更改图像
- 显示从文件选择器中选择的图像的图像缩略图
- jquery函数,用于获取预览图像的图像
- 如何更改多个图像的图像src
- 学习JavaScript:有没有办法在不使用个人ID的情况下更改一组图像的图像文件
- 在提交表单之前获取上传图像的图像高度和宽度
- 具有另一个背景图像的图像上的链接不起作用
- 如何检索用户单击的图像的图像源?(jQuery)
- 图像对图像与jQuery