附着和缩放光栅图像

AutoCAD ActiveX/VBA

 
附着和缩放光栅图像
 
 
 

可以将图像放到图形文件中,但它们实际上并不属于图形文件。图像通过路径名称或数据管理文档 ID 链接到图形文件。链接图像的路径可以随时进行更改或删除。要附着图像,请使用 AddRaster 方法在图形中创建 Raster 对象。此方法的输入值有四个:要附着的图像文件的名称、在图形中放置图像的插入点、图像的比例因子以及图像的旋转角度。请记住,Raster 对象代表独立的图像链接,而不是图像本身。

在用户附着图像之后,可以多次重新附着,为每个附件创建新的 Raster 对象。每个附件都有自己的剪裁边界以及亮度、对比度、褪色度和透明度设置。一个图像可以裁剪成许多块,并且在图形中分别排放。

在创建 Raster 对象时可以设置光栅图像比例因子,使图像的几何图形比例与在 AutoCAD 图形中创建的几何图形的比例相匹配。选择要附着的图像时,图像将以 1 个图像测量单位对 1 个 AutoCAD 测量单位的比例因子插入。要设置图像的比例因子,用户需要了解图像上几何图形的比例以及用来定义 1 个 AutoCAD 单位的测量单位(英寸、英尺等等)。图像文件必须包含定义 DPI(即,每英寸点数)以及图像中像素数目的分辨率信息。

如果图像包含分辨率信息,AutoCAD 会将其与用户在图形中提供用来缩放图像的比例因子和 AutoCAD 测量单位结合起来。例如,如果光栅图像是扫描的设计图,比例为 1 英寸等于 50 英尺(即,1:600),而用户的 AutoCAD 图形被设置为 1 个单位代表 1 英寸,那么要设置该图像的比例因子,应将 AddRaster 方法的 ScaleFactor 参数设置为 600。这样,AutoCAD 中插入图像的比例即可使图像中的几何图形与图形中的矢量几何图形保持一致。

注意如果没有在附着的图像文件中定义分辨率信息,AutoCAD 将以图像的初始宽度作为一个单位进行计算。插入图像之后,以 AutoCAD 单位表示的图像宽度即等于比例因子。

附着光栅图像

本例在模型空间中添加光栅图像,本例使用 watch.jpg 文件(可在 sample 目录中找到此文件)。如果没有此图像,或者此图像位于其他目录中,请为 imageName 变量插入有效的路径和文件名。

Sub Ch10_AttachingARaster()
    Dim insertionPoint(0 To 2) As Double
    Dim scalefactor As Double
    Dim rotationAngle As Double
    Dim imageName As String
    Dim rasterObj As AcadRasterImage
    imageName = "C:/Program Files/AutoCAD Directory/sample/watch.jpg '
insertionPoint(0) = 5
insertionPoint(1) = 5
insertionPoint(2) = 0
scalefactor = 2
rotationAngle = 0
      
  On Error GoTo ERRORHANDLER
   ' 在模型空间中附着光栅图像
  Set rasterObj = ThisDrawing.ModelSpace.AddRaster _
        (imageName, insertionPoint, _
               scalefactor, rotationAngle)
   ZoomAll
   Exit Sub
ERRORHANDLER:
    MsgBox Err.Description
End Sub