tôi sẽ khuyên không sử dụng hình ảnh thu nhỏ nếu bạn đang hướng tới để có được kết quả sắc nét và vững chắc với một nền tảng đó được lặp lại houndreds thời gian. Đây là một cách tốt đẹp, 100% để làm điều này bằng cách sử dụng JS và Canvas. Toàn bộ khối JS như được mô tả ở đây mất khoảng một nửa milisecond để thực thi.
Đây là jsFiddle
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
var w = c.getAttribute('width');
var h = c.getAttribute('height');
var color = c.getAttribute('data-color');
ctx.rect(-1, -1, ++w, ++h);
ctx.lineWidth = 1;
ctx.strokeStyle = color;
ctx.stroke();
var body = document.getElementsByTagName('body')[0];
body.style.backgroundImage = 'url(' + c.toDataURL("image/png") + ')';
Và HTML là đơn giản này:
<canvas id="myCanvas" width="20" height="20" data-color="#666666" style="display:none">Your browser does not support the HTML5 canvas tag.</canvas>
Tất cả bạn cần làm là echo chiều rộng và chiều cao mà bạn wan't vào thẻ canvas này (tốt nhất sử dụng phía máy chủ công nghệ bạn là usig) và mọi thứ sẽ được thực hiện tự động.
Hãy để tôi giải thích điều này: ctx.rect(-1, -1, ++w, ++h);
Chúng tôi đang lấy chiều rộng và chiều cao mong muốn và đặt nó vào biến, sau đó, khi vẽ hình chữ nhật của chúng tôi, chúng tôi muốn có chiều rộng để bắt đầu tại [-1, -1]
coords, để chúng tôi không có trái và trên cùng biên giới sơn (chúng tôi không cần nó nếu chúng ta muốn mô hình của chúng tôi để ngói niecely), và ++w
và ++h
chỉ là tăng chiều rộng và chiều cao hình chữ nhật vẽ bằng một pixel để vượt ra ngoài ranh giới của vải và do đó dải hai biên giới unnecesarry.
Hãy thử thay đổi width
và height
trong thẻ `canvas`` trong fiddle mà tôi đã tạo và xem bạn có thích đầu ra không.
Đi theo cách này bạn cũng có thể kiểm soát độ rộng của đường kẻ cũng như màu của nó.
Bạn không chắc mình hiểu những gì bạn đang yêu cầu? –
bạn muốn đạt được điều gì? Bạn có thể sử dụng một số mockup hoặc một cái gì đó? – meskobalazs
Vì vậy, trong thời gian ngắn, bạn có muốn cắt/cắt hình nền không? – Nit