- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我仍在收集理解 HTML5 中的 Web 2 打印编辑器所需的内容。我正在使用 FabricJS 和许多其他第 3 方工具来实现它。
我最新的障碍是我的三星 Chromebook Pro,它有一个 HiDPI/视网膜显示屏。 window.devicePixelRatio
不同,我正在尝试弄清楚如何使用 FabricJS 处理这种更高的 DPI。我按照其他人所说的成功了,但它似乎不起作用或对我没有帮助。再加上我的 Canvas 变得非常大,物体不再是可移动的。
我还在使用另一个第 3 方库,PetitoJPEG ,我用它来编码来自 FabricJS Canvas 的原始像素数据。由于我的其他笔记本电脑的 devicePixelRatio 不同,运行编码器会导致 Canvas 右侧的红点不显示在校样图像上。
我想知道如何在 HiDPI 显示器上对整个 Canvas 进行编码。
由于所有第 3 方 Assets ,我愿意提供直接链接而不是 JSFiddle:http://xbit.x10host.com/editor2.php
我想我明白人们所说的缩放方法是成功的,但我想知道它是否因为我在 Canvas 容器上的 CSS 转换而无法正常工作。我尝试通过控制台调整缩放比例和 Canvas 宽度/高度以及 CSS 宽度/高度,但无济于事。
如有任何帮助,我们将不胜感激。我将在下面粘贴每个人都说有效的代码段。
注意:我的 Samsung Chromebook Pro 记录了 26562 字节的写入,我的 Lenovo x230 Windows 笔记本电脑记录了 27586 字节。
if( window.devicePixelRatio !== 1 ){
var c = canvas.getElement(); // canvas = fabric.Canvas
var w = c.width, h = c.height;
// Scale the canvas up by two for retina
// just like for an image
c.setAttribute('width', w*window.devicePixelRatio);
c.setAttribute('height', h*window.devicePixelRatio);
// then use css to bring it back to regular size
// or set it here
c.setAttribute('style', 'width="'+w+'"; height="'+h+'";')
// or jQuery $(c).css('width', w);
// $(c).css('width', w);
// $(c).css('height', h);
// finally set the scale of the context
c.getContext('2d').scale(window.devicePixelRatio, window.devicePixelRatio);
canvas.renderAll();
}
我知道上面的代码块似乎适用于大多数人,但下面这行代码是不是不正确?
c.setAttribute('style', 'width="'+w+'"; height="'+h+'";')
这不是您定义内联样式的方式。您需要一个“:”而不是“=”,而且没有度量单位,所以我想知道它是如何工作的。
这是我为更有效地隔离问题而创建的新隔离页面的屏幕截图:这是直接 URL:http://xbit.x10host.com/isolation.php
您可以看到使用其他人都说有效的方法是如何行不通的。 CSS 属性值无效。也许我只是感到困惑,但即使我正确设置了 CSS 宽度和高度,我使用的是 1125x675 的 getImageData 还是新的 4500x1200?使用后者会导致样张图像过大; 4500x1200 包含我想要的所有数据,但还有所有这些空白。下面是该结果的屏幕截图。
现在,2250x1350(使用带有正确内联 CSS 语法的 goto 方法的输出)似乎是正确的,但我认为 Canvas 修复应该有助于输出与我的其他笔记本电脑相同的输出。这是否意味着拥有 HiDPI 显示器的人将比没有 HiDPI 显示器的人获得更高质量的样张图像(和打印件)?无论设备 DPI 如何,我都希望尺寸和像素数相同。
1 Câu trả lời
我发现了如何使图像的像素数与 DPI 无关。
它涉及使用离屏 Canvas 并以所需的宽度和高度在其上重新绘制屏幕上的 Canvas ,并以 300dpi 对离屏 Canvas 进行重新编码,以便无论屏幕分辨率如何,输出文件永远是一样的。
关于javascript - FabricJS HiDPI 获取图像数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53754683/
Câu hỏi dành cho người mới bắt đầu sử dụng Android. Được rồi, tôi đã ghi thành công vào tập tin. Ví dụ. //Lấy tên tệp String filename = getResources().getString(R.string.filename
Tôi đã lưu cùng một hình ảnh vào /data/data/mypackage/img/ và bây giờ tôi muốn hiển thị toàn màn hình này, tôi đã thử sử dụng ACTION_VIEW để hiển thị ứng dụng chuẩn Android nhưng nó không hiển thị hình ảnh từ /data/data/mypackage/img/
Tôi đang sử dụng Xcode 9, Swift 4. Tôi đang cố gắng hiển thị một hình ảnh trong ImageView từ một URL bằng cách sử dụng mã sau: func getImageFromUrl(sourceUrl: String) -> UII
Tôi gặp sự cố khi cài đặt genymotion trên Ubuntu. Chủ yếu là tôi không thể gỡ lỗi cơ sở dữ liệu của mình vì tôi không thể thấy nội dung của thư mục /data/ thông qua DBMS trong eclipse hay thông qua adb trong shell. Không hiển thị
Tôi đang cố gắng đăng một số dữ liệu JSON bằng PHP. Nhưng có điều gì đó không ổn. Đây là html của tôi -- {% cho x trong tập hợp %}
Tôi nhận thấy kết quả khác nhau từ cả hai cách tiếp cận. Tại sao lại như vậy? Tôi biết những gì đang xảy ra trên lm nhưng không thể hiểu được những gì đang xảy ra trên tslm. > thư viện(dự báo) > set.seed(2) > tts lm(t
Tôi không chắc tại sao điều này lại xảy ra! Tôi có một lớp được spring data elasticsearch và spring data jpa sử dụng nhưng tôi gặp lỗi khi thử chạy ứng dụng của mình. Lỗi khi tạo
Trong biểu đồ vega này, nếu tôi tải xuống và chuyển đổi flare-dependencies.json bằng lệnh jq sang csv sau, jq -r '(map(keys) | add | unique) as
Tôi đang nộp một dự án trong đó tôi phải tạo một cơ sở dữ liệu mysql có chứa một bảng. Mọi thứ đều ổn nên tôi chỉ muốn kiểm tra xem làm thế nào để gửi tất cả các tệp nén của mình cho người khác sử dụng máy tính khác. Về cơ bản, làm thế nào để tôi tạo tệp cơ sở dữ liệu của mình cho một máy tính khác,
Tôi có một ứng dụng ghi các tập tin văn bản vào bộ nhớ trong. Tôi muốn xem xét kỹ hơn máy tính của mình. Tôi chạy Toast.makeText để hiển thị đường dẫn và nó ghi: /data/data/my-package nhưng khi tôi vào An của Android Studio
Tôi thích cách trình giả lập Genymotion tải Android với tốc độ đáng kinh ngạc như vậy. Tốc độ rất tốt, nhưng hiệu suất vẫn còn đôi chút chập chờn. Cách truy cập trình giả lập Genymotion từ File Explorer trong Eclipse
Tôi cần thay đổi định dạng của hộp văn bản trong Silverlight. Dữ liệu được liên kết thông qua MVVM. Ví dụ, có một thuộc tính int và tôi thêm 1 vào giá trị trong bộ thiết lập và gọi OnPropertyChanged
Tôi muốn gửi yêu cầu tới Youtube Data API, nhưng tôi không cần truy cập vào bất kỳ thông tin người dùng nào. Tôi chỉ muốn duyệt các video công khai và hiển thị video dựa trên một thuật ngữ tìm kiếm. Tôi có thể làm điều này mà không cần sự cho phép không? Câu trả lời hay nhất YouTube
Tôi đã thiết lập ứng dụng Twilio và muốn gửi thông tin cập nhật cho mọi người nhưng không muốn trả lời từng tin nhắn riêng lẻ. Tôi chỉ muốn họ gọi điện nếu họ gặp vấn đề. Mọi thứ đều hoạt động tốt nhưng tôi muốn hiển thị văn bản đến khi tôi gửi để đảm bảo không bỏ sót bất kỳ vấn đề nào. Tôi đang sử dụng p
Tôi có một trang web có biểu mẫu (hiện tại là HTML thuần túy, nhưng chúng tôi đang chuyển sang JQuery). Luồng như sau: Lấy dữ liệu đầu vào của người dùng --- 5 số nguyên Gọi dịch vụ web qua REST Chạy một số phép tính ở phía máy chủ... và tạo ra
Giả sử chúng ta có một tệp có tên là configuration.js và khi chúng ta nhìn vào bên trong, chúng ta thấy: 'use strict'; var profile = { "project": "%Projec
Đây là một phần mở rộng của Câu hỏi trước: Bây giờ tôi có thể trả về dữ liệu JSON thành công từ Bộ điều khiển CI của mình, nó trả về: {"results":[{"id":"1","Sourc
Có cách nào hiệu quả để xóa toàn bộ dung lượng lưu trữ tài liệu của CBL trong iOS không? Tôi có thắc mắc về vấn đề này hoặc nếu ai đó biết cách làm cho ứng dụng hoạt động như thể nó vừa được cài đặt thì sẽ rất hữu ích. Chúng tôi đang làm việc để đảm bảo rằng việc đăng xuất của chúng tôi thực sự thiết lập ứng dụng thành
Tôi có một ứng dụng Rails giao tiếp với các ứng dụng Rails khác để chèn dữ liệu. Tôi đang sử dụng phương thức jQuery $.post để chèn dữ liệu. Ứng dụng Rails khác của tôi hiển thị 200 OK cho phần chèn. Nhưng trong
Tôi đang chạy thử nghiệm đơn vị cho lệnh gọi API phục vụ yêu cầu đăng bài. Tôi đang chuyển nội dung yêu cầu và phải trả về phản hồi dưới dạng dữ liệu tài khoản. Nhưng tôi chỉ nhận được lỗi khẳng định Lưu ý: Dữ liệu được lấy từ Azure spec.js const accou
Tôi là một lập trình viên xuất sắc, rất giỏi!