Tôi đang cố gắng tạo nền cho trang web của mình sử dụng canvases để vẽ nội dung, lấy URL dữ liệu của nó và đặt nó làm thuộc tính hình nền của phần tử. Phương thức này hoạt động, nhưng tôi không thể tìm ra cách tốt để vẽ một đám mây trên khung vẽ. Những thứ đơn giản khác như mặt trời và các ngôi sao rất dễ làm mà không có hình ảnh và tôi muốn giữ toàn bộ tập lệnh hình ảnh ít hơn. Vẽ vô số các vòng tròn quanh một điểm có thể hơi làm điều đó, nhưng tôi thích một cách thực tế hơn để làm điều đó. Cảm ơn trước.Có phương pháp hay nào để tự động vẽ các đám mây bằng canvas HTML5 và javascript mà không sử dụng hình ảnh?
Trả lời
Ok, tôi đã suy nghĩ về vấn đề vẽ mây, và đây là nơi tôi đang ở.
HTMLCanvasElement.prototype.makeCloud=function (xLast, yLast, rLast, lLast){
rLast = (rLast || 50)
lLast = lLast || Math.random()*25+75;
var x = (xLast || 250) + Math.random()*(2*rLast)-rLast/1,
y = (yLast || 250) + Math.random()*(1*rLast)-rLast/1.5,
r = (rLast) + Math.random()*10-7.5,
l = (lLast);
if(x-r < 0)
x = r+1;
else if (x+r > this.width)
x = this.width-r-1;
if(y-r < 0)
y = r+1;
else if (y+r > this.height)
y = this.height-r-1;
if(r <= 0)
return this;
if(l<0)
l=0;
else if(l>100)
l=100;
var ctx=this.getContext('2d');
ctx.fillStyle='hsl(0, 0%, '+l+'%)';
ctx.beginPath();
ctx.arc(x, y, r, 0, Math.PI*2, true);
ctx.closePath();
ctx.fill();
if(Math.random < 0.01)
return this;
this.makeCloud(x, y, r, l)
return this;
}
Nó tạo ra một số nội dung khá điên rồ ... bất kỳ ai cũng có thể nghĩ đến bất kỳ cải tiến nào không? tôi biết chỉnh sửa nguyên mẫu vải không phải là điều tốt nhất để làm, nhưng ứng dụng của tôi sử dụng một chút chuỗi và điều này làm cho nó chảy tốt hơn.
Thực hiện một JSFiddle trong trường hợp bất cứ ai khác đến cùng câu hỏi này và muốn xem những đám mây này trông như thế nào: http://jsfiddle.net/qs8wf/ –
đây là một đâm nhanh (http://jsfiddle.net/icodeforlove/qs8wf/22 /). Im chắc chắn điều này có thể được mở rộng để sử dụng đường dẫn thay thế và hạn chế tốt hơn. –
Tôi vừa tạo Cloudgen.js, một thư viện nguồn mở tạo ra các đám mây cho canvas. Cách tiếp cận tôi đã sử dụng các vòng tròn chồng chéo, mỗi vòng tròn có độ dốc xuyên tâm và độ trong suốt. Cloudgen.js cung cấp một cách để vẽ một đám mây đơn với phương thức "drawCloud" hoặc nhiều đám mây cùng một lúc với "drawCloudGroup". Khi các đám mây có hình tròn, việc sử dụng "drawCloudGroup" cũng cho phép bạn tạo các đám mây đơn với nhiều hình dạng thú vị hoặc được xác định trước.
Bạn có thể tìm Cloudgen.js tại https://github.com/Ninjakannon/Cloudgen.js
- 1. Làm cách nào để vẽ các đám mây?
- 2. Tự động mở rộng bằng cách sử dụng hình thành đám mây theo Số yêu cầu
- 3. làm thế nào để vẽ lưới bằng cách sử dụng html5 và (canvas hoặc svg)
- 4. HTML5, JavaScript và vẽ nhiều hình chữ nhật trong canvas
- 5. HTML5 xoay hình ảnh bằng canvas
- 6. HTML5 cách vẽ hình ảnh pixel trong suốt trong canvas
- 7. Vẽ trên Canvas và lưu hình ảnh
- 8. HTML5 Tự động tạo Canvas
- 9. Lưu hình ảnh động được tạo bằng HTML5 Canvas
- 10. Phương pháp hay nhất để xuất canvas với hình ảnh chất lượng cao là gì?
- 11. vẽ lại canvas html5 mà không nhấp nháy
- 12. Làm thế nào để xây dựng một đám mây từ sạch bằng cách sử dụng pytagcloud mà không có hình ảnh đông đúc - Python
- 13. HTML5 tạo ảnh nền canvas
- 14. Canvas HTML5, tỷ lệ hình ảnh sau khi vẽ nó
- 15. HTML5 Canvas ảnh Scaling Issue
- 16. Cách tải hình ảnh lên canvas HTML5
- 17. Sử dụng hình ảnh html5 canvas làm mặt nạ
- 18. Ổ đĩa đám mây so với các tệp đám mây (hoặc chúng ta không bận tâm?)
- 19. Canvas HTML5, hình ảnh trên/trong đa giác có thể?
- 20. hình ảnh đám mây sẵn sàng cho openstack
- 21. Sử dụng HTML5/Canvas/JavaScript để chụp ảnh màn hình trong trình duyệt
- 22. Đám mây UML: chỉnh sửa mô hình, lưu trữ và tạo mã trong đám mây?
- 23. Tự động thêm hình ảnh vào canvas
- 24. Kích thước hình ảnh Các phương pháp hay nhất cho ứng dụng di động
- 25. HTML5 Canvas: tốt hơn để vẽ lại các đối tượng hoặc sử dụng bitmap?
- 26. HTML5 Canvas - Làm thế nào để vẽ một đường trên nền hình ảnh?
- 27. Phát triển cho Đám mây bằng cách sử dụng CouchDB địa phương
- 28. Cách vẽ hình ảnh trong suốt bằng phần tử canvas html5
- 29. Canvas so với DOM - Phương pháp hiển thị hình ảnh hiệu quả nhất trong HTML5 là gì?
- 30. vẽ đối tượng/hình ảnh trên canvas
Chắc chắn cần một ví dụ về loại mây mới gọi là một đám mây tốt, nếu không nó sẽ không có gì nhưng một trò chơi khổng lồ đoán và kiểm tra. Một số liên kết đến một số đám mây vector mà bạn thích sẽ làm điều kỳ diệu. –