当前位置: 首页 > 知识库问答 >
问题:

使用300dpi(Imagemagick)和todataurl/bas64保存画布

唐康安
2023-03-14

我保存画布有问题。我想那是因为我的画布太大了。我在这里寻求帮助:

画布上的元素会随着jsfiddle消失

帆布用于大型画布的toDataURL()

...但是没有成功。

我的问题是下一个:

例如,我有一个画布,它的尺寸是1123x1965像素,我需要将其调整到29.7x52厘米,并以300dpi的速度放置。

我的理由如下:

  • 编辑完模板后,将其转换为完整大小,然后将png图像保存为实际大小(以像素为单位),并已乘以300 dpi。进行了以下计算:

29.7厘米:29.7*300 = 8910

52厘米:52*300 = 15600

使用它的问题基本上是画布消失。请看这个:画布上的元素消失在JSFIDLE中

和todataurl函数不工作:canvas.toDataURL()大画布

  • 然后使用库imagemagick convert to 300 dpi,如以下命令:convert test。png-单位像素像素-密度300测试2。巴布亚新几内亚

谁能帮帮我?

谢谢你。

共有2个答案

安承教
2023-03-14

DPI是指每英寸的点,而不是每厘米的点。300 DPI(点/英寸)=118 dpcm(点/厘米)

计算应为:

29.7厘米:29.7*118=3504.6

52厘米:52*118=6136

我希望这有助于解决你的问题。(我还不能发表评论,所以我把这个作为回答)

乐正意智
2023-03-14

只要除以2.54上已经有的,就可以得到基于英寸的像素。尽管如此,更正确的术语是PPI而不是DPI(因为纸上的点与屏幕上的像素表现有点不同)。

29.7 cm * 300 PPI / 2.54 = 3508 pixels

52.0 cm * 300 PPI / 2.54 = 6142 pixels

(你确定52厘米是正确的吗?(A4短边x2,即A3是42厘米)。

 类似资料:
  • 我创建了一个使用HTML5画布元素的网络应用程序,允许用户绘制各种形状、颜色、线宽。他们也可以上传一张图片,把它画在画布上,然后在上面画画,作为注释他们的图片的一种方式。 我的挑战是我正在使用。toDataURL()获取画布的全部内容,并将其保存为图像。但据我所知,这只能捕获画布的大小。在较小的设备(手机)上,保存的图像最终尺寸非常小。下面是我为获得画布上的内容所做的: var image=文档。

  • 好不容易在画布中绘制出酷炫的图形,应该把它保存起来吧。但不幸的是,画布中的这些图形本身不是真正的图片,不能直接保存。不幸中的万幸,Canvas API提供了toDataURL()方法,可以把画布中的图形转换为图片。 默认情况下,toDataURL()方法把图形转变成base64编码格式的png,然后返回Data URL数据。可以给toDataURL()传入MIME类型的参数,将画布转变成其它格式的

  • 问题内容: 我正在使用glfx.js编辑我的图像,但是当我尝试使用函数获取该图像的数据时,我得到了一个空白图像(宽度与原始图像相同)。 奇怪的是,在Chrome中,脚本可以完美运行。 我要提及的是,使用onload事件加载了图像: 另外,我的图片路径在同一域中; 问题(在Firefox中)是当我按下“保存”按钮时。Chrome返回预期结果,但Firefox返回以下结果: 是什么导致此结果,如何解决

  • 我正在尝试使用FFMPEG设置画布动画到视频的转换。瓦斯姆。其思想是使用然后将它们发送到节点服务器以生成视频。我正在从公共目录中提取预上传的图像进行测试,但是当我尝试发送一组(或一个)使用我收到以下错误: 我试图替换画布。toDataURL()与,但是这也没有帮助。下面是我正在使用的剪切代码: 正面: 后端: 上面的代码经过简化,可以制作一个单个图像循环30秒的视频。同样,使用预上传的图像非常有效

  • 我有一个带有背景图像的HTML5画布元素。用户被允许在图像上绘制,然后需要保存完整的画布元素与背景。我使用下面的代码保存部分,但它只得到画布绘图,而不是背景图像。我还可以做什么来获得背景图像? 更新: 我的HTML 我有上面的div在我的HTML页面。然后我动态地创建画布并在其上绘制。这是一个有点长的代码。

  • 我使用ITextSharp处理PDF注释。我能够非常顺利地添加注释。但现在我正在尝试编辑它们。看起来我的PdfReader对象实际上已经更新了。但由于某种原因,我无法保存它。如下面的代码片段所示,我尝试使用stamper获取字节数组。不管注释有多长,字节数组只比以前的版本长1个字节。当我打开保存在文件系统上的PDF时,我仍然有旧的注释。。。 知道我的代码出了什么问题吗?