Javascript 如何设置svg打印(CorelDraw为毫米)和真实/预览(px)大小?
我有一个基本的SVG文件,它有一个固定的50mm x 25mm的打印大小(因此,如果我用CorelDraw打开它,文档大小将是这个。)Javascript 如何设置svg打印(CorelDraw为毫米)和真实/预览(px)大小?,javascript,web,svg,coreldraw,Javascript,Web,Svg,Coreldraw,我有一个基本的SVG文件,它有一个固定的50mm x 25mm的打印大小(因此,如果我用CorelDraw打开它,文档大小将是这个。) 网络操作系统? 如何在浏览器中实现500x250像素的大小?比率没有改变,但我也需要在web浏览器中使用固定的画布大小 我需要改写/扩展问题: 我想将图形(在浏览器中创建)导出到CorelDraw,因为它可以读取SVG文件。例如,浏览器中的画布为500x250px,每个对象首先以像素为单位进行测量。导出后,必须保留所有内容,从画布开始(到50x25mm),然
网络操作系统?
如何在浏览器中实现500x250像素的大小?比率没有改变,但我也需要在web浏览器中使用固定的画布大小
我需要改写/扩展问题:
我想将图形(在浏览器中创建)导出到CorelDraw,因为它可以读取SVG文件。例如,浏览器中的画布为500x250px,每个对象首先以像素为单位进行测量。导出后,必须保留所有内容,从画布开始(到50x25mm),然后是对象:
因此,问题是:
- witch属性负责CorelDraw中画布的宽度和高度
- 有没有快速调整包含对象大小的方法(保留Aspectratio、viewBox、style media),或者我必须逐个转换每个对象的宽度、高度、x、y等属性
谢谢你的建议 处理不同的媒体时,请使用样式表媒体选择器。SVG使用
元素的。基本语法是:
<style media="something" type="text/css">
svg:root {
width: 50mm;
height: 25mm;
}
</style>
svg:root{
宽度:50mm;
高度:25毫米;
}
现在,根据您想做什么,您可以:
media=“print”
指定打印介质的大小,在所有其他情况下使用根
元素上设置的属性中指定的默认宽度和高度media=“screen”
仅为浏览器指定目标宽度和高度,其中屏幕如下:“主要用于彩色计算机屏幕”视图框定义,该视图框包含左上角的x和y坐标以及宽度和高度。第二个是使用宽度
和高度
属性或样式属性定义的
因此,您可以使用viewBox
属性表示您对(0px,0px)
和(500px,250px)
矩形内的区域感兴趣,因为这是您在浏览器中看到的:viewBox=“0 500 250”
然后,由于希望图像显示为50mm
宽和25mm
高,因此需要相应地设置宽度和高度。您可以将它们设置为根svg元素上的属性,这意味着您必须仅在导出时设置它们,否则它们也将在浏览器中应用,或者您可以使用仅对打印
媒体有效的样式
元素设置它们
对于浏览器,如果您定义的是viewBox
,则无需明确指定宽度和高度,因为默认情况下,viewBox中定义的区域是每像素显示一个像素。我已经扩展了我的问题,请看一看!我做了一个测试:,那里的屏幕大小不多<代码> >(<代码>),因为当您将SVG嵌入HTML文档时,它不再是<代码>:root < /C>元素。只需从CSS选择器中删除<代码>:root < /代码>部分,使其工作。如果我用CIEL DRAP打开创建的SVG,对象的大小是很大的,但是它被放置在210X197mm(A4)的中间。大纸。是否也可以调整大小(如我问题中的图片所示)?我不知道Corel Draw如何处理画布(纸)大小。您可以尝试通过导出具有某些指定维度的SVG文件来查看它是如何做到这一点的,并查看文件中这些维度的设置位置。我没有Corel Draw,因此无法检查自己。我已经厌倦了它,Corel Draw没有将这些属性保存到SVG文件中。(如果打开导出的文件,设置将丢失。)
<style media="something" type="text/css">
svg:root {
width: 50mm;
height: 25mm;
}
</style>