Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何设置svg打印(CorelDraw为毫米)和真实/预览(px)大小?_Javascript_Web_Svg_Coreldraw - Fatal编程技术网

Javascript 如何设置svg打印(CorelDraw为毫米)和真实/预览(px)大小?

Javascript 如何设置svg打印(CorelDraw为毫米)和真实/预览(px)大小?,javascript,web,svg,coreldraw,Javascript,Web,Svg,Coreldraw,我有一个基本的SVG文件,它有一个固定的50mm x 25mm的打印大小(因此,如果我用CorelDraw打开它,文档大小将是这个。) 网络操作系统? 如何在浏览器中实现500x250像素的大小?比率没有改变,但我也需要在web浏览器中使用固定的画布大小 我需要改写/扩展问题: 我想将图形(在浏览器中创建)导出到CorelDraw,因为它可以读取SVG文件。例如,浏览器中的画布为500x250px,每个对象首先以像素为单位进行测量。导出后,必须保留所有内容,从画布开始(到50x25mm),然

我有一个基本的SVG文件,它有一个固定的50mm x 25mm的打印大小(因此,如果我用CorelDraw打开它,文档大小将是这个。)


网络操作系统?
如何在浏览器中实现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”
    仅为浏览器指定目标宽度和高度,其中屏幕如下:“主要用于彩色计算机屏幕”
  • SVG图像有两个不同的大小方面:您希望从无限画布中看到多少,以及生成的图像应该有多大。第一个由
    视图框定义,该视图框包含左上角的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>