/**
* Converts data URI in 'image/png' format to an image data object
* @param dataURL Base64 encoded string
* @returns {ImageData/undefined}
*/
convertDataURLToImageData: function [dataURL] {
if [dataURL !== undefined && dataURL !== null] {
var canvas, context, image, imageData;
canvas = document.createElement['canvas'];
canvas.width = 470;
canvas.height = 470;
context = canvas.getContext['2d'];
image = new Image[];
image.addEventListener['load', function[]{
context.drawImage[image, 0, 0, canvas.width, canvas.height];
imageData = context.getImageData[0, 0, canvas.width, canvas.height];
//how do i return this?
}, false];
image.src = dataURL;
return imageData;
}
}
Xem xét đoạn trích ở trên, nếu tôi muốn lấy một mảng dữ liệu hình ảnh từ URL dữ liệu, tôi sẽ vẽ nó trên khung vẽ, làm cách nào để trả lại dữ liệu hình ảnh?
JavaScript có quy ước để chuyển đổi URL hình ảnh hoặc hình ảnh PC cục bộ thành chuỗi base64. Chuỗi này có thể chứa một loạt các biểu tượng và chữ cái. Ở đây, nó được giải thích cách tạo một phần tử canvas, tải một hình ảnh vào đó và sử dụng Todataurl [] để hiển thị biểu diễn chuỗi. Để có được biểu diễn chuỗi cơ sở64, chúng tôi cũng sẽ sử dụng tùy chọn đầu đọc tệp.
Trong trường hợp này, một phần tử canvas sẽ được tạo và kích thước của nó sẽ được chỉ định. DataURL nơi biểu diễn chuỗi sẽ được lưu trữ. Chúng tôi sẽ thêm hình ảnh ngẫu nhiên từ các nguồn trực tuyến và đảm bảo đối tượng để tránh các vấn đề bảo mật. 'Ẩn danh' như Crossorigin. Cuối cùng, chức năng gọi lại của chúng tôi sẽ chuyển dataURL cho chức năng Todataurl để thông báo cho cửa sổ rằng chuỗi base64 cho hình ảnh tương ứng đã sẵn sàng để xem trước.
Thí dụ
Ví dụ này cho thấy cách chuyển đổi hình ảnh thành URL dữ liệu Base64 trong JavaScript -
Get URL i function toDataURL[src, callback]{ var image = new Image[]; image.crossOrigin = 'Anonymous'; image.onload = function[]{ var canvas = document.createElement['canvas']; var context = canvas.getContext['2d']; canvas.height = this.naturalHeight; canvas.width = this.naturalWidth; context.drawImage[this, 0, 0]; var dataURL = canvas.toDataURL['image/jpeg']; callback[dataURL]; }; image.src = src; } toDataURL['//images.unsplash.com/photo-1606115915090-be18fea23ec7?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=465&q=80', function[dataURL]{ alert[dataURL]; }]
Cập nhật ngày 26 tháng 8 năm 2022 11:53:41
- Câu hỏi và câu trả lời liên quan
- Làm thế nào để chuyển đổi một hình ảnh thành blob bằng JavaScript?
- Làm thế nào để có được URL dữ liệu hình ảnh trong JavaScript?
- Làm thế nào để thực hiện tải trước hình ảnh với JavaScript?
- Làm thế nào để chuyển đổi hình ảnh thành chuỗi base64 bằng JavaScript?
- Chuyển đổi HH: MM: SS thành giây với JavaScript?
- Phương thức uri.isbaseof [uri] trong C#
- Phương pháp uri.makeselativeuri [uri] trong c#
- Sự khác biệt giữa URL và URI
- Làm thế nào để thực hiện phiên bản API Web với URI trong C# ASP.NET Webapi?
- Làm thế nào để chuyển đổi các đối tượng JavaScript thành các loại dữ liệu nguyên thủy theo cách thủ công?
- Thao tác dữ liệu với JavaScript
- Làm thế nào để có được tài liệu tham khảo URI trong Java?
- Làm thế nào để chuyển đổi hình ảnh tiêu cực thành hình ảnh tích cực bằng thư viện Java OpenCV?
- Làm thế nào để chuyển đổi hình ảnh màu thành hình ảnh sepia bằng thư viện Java OpenCV?
- JavaScript - chuyển đổi mảng với giá trị null thành chuỗi