是否可以捕获或打印html画布中显示的图像或pdf?
我想通过画布生成一个图像,并能够从该图像生成一个png.
我有一个带有绘图的canvas元素,我想创建一个按钮,当单击它时,它会将图像保存为png文件.所以它应该打开保存,打开,关闭对话框......
我是用这个代码做的
var canvas = document.getElementById("myCanvas");
window.open(canvas.toDataURL("image/png"));
Run Code Online (Sandbox Code Playgroud)
但是当我在IE9中测试它时,会打开一个新窗口,说"网页无法显示",其网址为:
数据:图像/ PNG; BASE64,iVBORw0KGgoAAAANSUhEUgAAAmAAAABpCAYAAACd + 58xAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAADRwSURBVHhe7V0HgBVF0q7ZJSlJwRxAPUFRD39RFLN34qGnnomoqIjhzBlFPROIgsoZzogR5AQEzJ4BPFAUEUwgJjgQkCQKooggaf/6el6/6ZnpSW/zUn237u5MdXX1172 + z6rqaqeEG6VsJet + PDW/vkdrfx3H3yfT2tVzaP26X6hkw1q/BoeI/280/29JwznZxJPUyXtBQBAQBAQBQaBcECjefmi56BWlZYtAeqajx/WokfrJYEqOIikOFRfXoVq161PtOk2odu0t + ectqKiojnrntWhC46QhYOtXfUarl79Ivy9/ldau + H + TX/8b2SbjJ07pWFQy2Uqnp2yXSrQJAoKAICAICALJCAgBS8ao8iTi/UvpSZlBxiwqwWOKimsxCWtEdettR3XqbEfFtRonkrBYArZh3fe0 + senadWyEbRm1UzasP53K45ZiFc84RKyVXkbVUYWBAQBQUAQyIqAELCsiFW2fDQpSyZk8UQMMysqKmaPWCOqt8mOVK/eTuQU1YuccCQBW7dyIq38/J5A/fN的/ ad3a5QGXmqsvLfGKJl0ZCFdONEOPyl5lGV8QEAQEAUGghiMgBKzqLHCeHqVOrILtduF4MpZExEqoVq167A3bmjap34J/bmoFqcj2dM3Pr9GK + b1p5bJXmXz9nEC + 3FiorYF4hcmXlo + gUrk +微米/ + E + QoVWfxxRJBQBAQBAQBQUAQqBwE8uzCwiMiaEqOWYR5jJ2/6Hl58nYHk0Pr1v1Ov62cTytXfE5r1yyyc6RgDhjI16 + L + tLqFZ9xnteGUKc0Xi876YpYkFDCfpqFEz9YGpRERhAQBAQBQaB8ERAPWPnim157JreX6/eK7eJ/Ge0RS8oPc9gT1pTqN2jFocltfdPxecBU2HHxgB TKY + 71CjPGCO + YyU4j0TU9ZcGf0y + JSAoCgoAgIAgIAoJATUcgG2dQ0jpKZ/XP + PlLtEcs3huGQhO/r17K3rBvuGrEUt8i5HPAkHC/Yt6lKuwYKiuRM9TtGbY0rcerTBLwC/KY1fSNJ/MTBAQBQUAQqAwExANWGaiHx0z2aJl9CknET + MRc2XsVSKKaNP6O1CDhvtwYn5dJZf3gOG0IxLuS0e + LB4vw9sVhiwmHywmF6xqLLdYIQgIAoKAICAICAJVAQHTo2XmkNtzv6K5R7RXLOwRs3MaW + 47SNkG9oRxZQmun6qbImCo84VSE + 5pR3/zvFZJni/7e8tTHiCeqCkAqsKKig2CgCAgCAgCgoAgUG0RCBKzMLmwkzHdL4pk4XlUAn7Uu3XrVtPqVfO4lurPSq0KQa5cdAv9snBgqM5XFPlKSsSPM8o3mcxES2hZtf0rEMMFAUFAEKiBCEgIsqotavpk/OiwZViHPQk/LgHfHo5EnbCGjVpxeYo9yNmw9oeSn2YeTatWTPNzozzX8ZOeWPJlJVRJnrOoxUtJtmLEUmqoartH7BEEBAFBQBCoJggIASu/hUqkUokC2rZkwSSCBU12wpadhNXbpAk13vwwKlJ3O/L1QmYrxPNlDxuGyVtyIn6K8KSZHwY3XsRX + W0L0VyTEPjwM6KuFxN1uiB6Vkv48MpdjxLt9ieieQvscuvWE13eh2jnQ9zv + F2aICAICAKCQGEIRH22559H5IqnDTMGeU/SgUJ7WNLjOVH9g8/Xrv2Fa4P9SM6K7y4t + WXRw76sfVc42fPV936iJ5 + LKrbqTU0P3rA + 0dZbEh20L9HJHYj23I2oVrHFT5U5NFnY4m6svUA0Pvo8efbvjCBqtr0nN + IVot4Dkvv1v5aoy/HJcpUpsfI3olffdknV0uWuJfv9kWjkw55VIFAfM073PE4EkqZbEBf9HMTs8C6e3KhHiPbdqzJnKWMLAoJAeSMgHrDyRrj0 + rOEGvVoYY 9Y0inIeE + YQQ + cqGGj3dgDtvJjC/mKm7BHmG68lGjO + 0T
有人知道怎么修这个东西吗?
我正在尝试使用drawImage在canvas元素上绘制一个半透明的PNG.但是,它将图像绘制为完全不透明.当我查看正在加载的资源并在浏览器中加载实际的PNG时,它会显示透明度,但是当我在画布上绘制时,它不会.有任何想法吗?
这是代码:
drawing = new Image()
drawing.src = "draw.png"
context.drawImage(drawing,0,0);
Run Code Online (Sandbox Code Playgroud) 我正在开发一个应用程序,我有一个自定义UISlider.
但是,我遇到了一些关于如何使默认拇指看起来像iOS控制中心那样小的问题.
请注意,我想要相同的iOS拇指,而不是自定义拇指图像.到目前为止,我已经尝试thumbRect(forBounds...)但没有运气.
有什么建议?
我想使用 R Studio 创建基于传单地图的动画地图。以前,这是使用 saveHTML 与 ggmaps 和 ggplot 一起使用,但函数 saveHTML 无法制作传单地图的图像,因此无法制作显示动画地图的 html 页面。
任何建议如何将传单地图保存为图像,或如何使用 saveHTML 获取动画地图?
数据看起来像:
long = c(-73.95,-74,-74.05)
lat = c(40.8, 40.7, 40.4)
minute = c(15, 0, 18)
tripData <- data.frame(long,lat,minute)
Run Code Online (Sandbox Code Playgroud)
到目前为止的代码:
library(animation)
library(leaflet)
plotLeaflet <- function(.minute){
df = subset(tripData, minute == .minute);
(m2 <- m %>% addCircles(data = df));
print(m2);
}
# Create animation
range_m = 0:59
oopt <- animation::ani.options(interval = 0.1)
FUN3 <- function() {
mapply(function(x) {
plotLeaflet(x);
animation::ani.pause()
},range_m)
}
saveHTML(FUN3(), autoplay = FALSE, …Run Code Online (Sandbox Code Playgroud) 我按照这个例子将画布保存到PNG文件.http://greenethumb.com/article/1429/user-friendly-image-saving-from-the-canvas/
我的问题:下载的文件已损坏,当我在记事本中打开它时,它有这样的模式:
<body><html> 如果我删除#1和#3并在本地保存文件,我会得到一个有效的PNG图像.
我正在做上面的例子,但我的结果是不同的.为什么dataURL会有任何其他信息.除了画布本身?
谢谢.
编辑
<?php
$imdata = $_POST["imgdata"];
//run this code only when there is long POST data
if(strlen($imdata)>1000) {
//removing the "data:image/png;base64," part
$imdata = substr($imdata,strpos($data,",")+1);
// put the data to a file
file_put_contents('image.png', base64_decode($imdata));
//force user to download the image
if(file_exists("image.png")){
header('Content-type: image/png');
header('Content-Disposition: attachment; filename="image.png"');
readfile('image.png');
}
}
?>
Run Code Online (Sandbox Code Playgroud)