我试着把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图像很模糊
你好,请问dwg中有图层设置不打印,我转成图像时怎么让它打印在图像上
请问您的问题解决了吗,我试着把dwg转为svg或png时遇到了和您一样的问题
@ALEX1228,
是的,dwg 中的某些图层可能在打印时隐藏。 我们也默认隐藏它们。 您可以在此示例中指定要打印的所有必需层:
cad_layers = cad_image.layers.get_layers_names()
cadRasterizationOptions.layers = list(cad_layers)
1 Like
感谢您的帮助,这个问题解决了
1 Like
这个png模糊的问题没有解决,我是转成svg了
可以分享下解决方法吗,我也是转成svg,但是用的是java
非常感谢您,已发送至您指定的邮箱