把dwg部分区域转换成图片

我试着把dwg文件转换成png图像,但是dwg文件全图太大,转换完之后生成几乎空白的图像,请问我要如何放大提取的结果。只提取所有矩形框里的内容。
相关文件如下:
dwg-png.zip (906.3 KB)

1 Like

@ALEX1228,
不幸的是,对此没有好的解决方案。 您需要知道要导出的矩形区域。 有了这个,就可以创建新视图,请测试这个示例:

import aspose.cad as cad
from aspose.cad.imageoptions import PngOptions
from aspose.cad.fileformats.cad.cadtables import CadVportTableObject
from aspose.pycore import cast


image = cad.Image.load("test.dwg")
cad_image = cast(cad.fileformats.cad.CadImage, image)

cadRasterizationOptions = cad.imageoptions.CadRasterizationOptions()

new_view = CadVportTableObject()

# width and height of the fragment
tile_width = 4200.0
tile_height = 1800.0

new_view.name = "*Active"

# top left point of the region being exported
new_view.center_point.x = 492739 + tile_width / 2
new_view.center_point.y = 4325075 - tile_height / 2
new_view.view_height = tile_height
new_view.view_aspect_ratio = tile_width / tile_height


for idx, current_view in enumerate(cad_image.view_ports):
    if ((current_view.name is None and len(cad_image.view_ports) == 1) or (current_view.name.lower() == "*active")):
        cad_image.view_ports[idx] = new_view
        break

cadRasterizationOptions.no_scaling = True
cadRasterizationOptions.page_height = tile_height
cadRasterizationOptions.page_width = tile_width

cadRasterizationOptions.draw_type = cad.fileformats.cad.CadDrawTypeMode.USE_OBJECT_COLOR
  
options = PngOptions()
options.vector_rasterization_options = cadRasterizationOptions

image.save("result.png", options)
1 Like

请问有没有办法提高result.png的质量,生成的png图像很模糊

@ALEX1228,
恐怕没有办法,因为光栅格式很难保留小的锐利细节。

你好,请问dwg中有图层设置不打印,我转成图像时怎么让它打印在图像上

请问您的问题解决了吗,我试着把dwg转为svg或png时遇到了和您一样的问题

@ALEX1228,
是的,dwg 中的某些图层可能在打印时隐藏。 我们也默认隐藏它们。 您可以在此示例中指定要打印的所有必需层:

cad_layers = cad_image.layers.get_layers_names()
cadRasterizationOptions.layers = list(cad_layers)
1 Like

@Wangzhouyang,
请提供有关该问题的更多详细信息、初始文件、当前代码,以便我们能够理解并重现该问题。

感谢您的帮助,这个问题解决了

1 Like

这个png模糊的问题没有解决,我是转成svg了

可以分享下解决方法吗,我也是转成svg,但是用的是java

版本为 Aspose.CAD for Java 23.9,这里我展示了java语言代码片段及需要转换的cad文件参数,初始文件由于太大不方便上传
dwg-svg.zip (123.4 KB)

@Wangzhouyang,
最初的绘图对于分析问题来说是最重要的。 您可以通过一些第三方服务在此处共享和发布链接或将文件发送到我的电子邮件

非常感谢您,已发送至您指定的邮箱

@Wangzhouyang,
好的,让我们在其他线程中继续这个对话。