概要 - クリップ境界を表示、非表示にする(VBA/ActiveX)

クリップしたイメージは、クリップ境界を使用して表示することができます。あるいはクリップ境界を非表示にして元のイメージ境界を表示することもできます。

クリップ境界を非表示にして元のイメージを表示するには、ClippingEnabled プロパティを FALSE に設定します。クリップしたイメージを表示するには、ClippingEnabled プロパティを TRUE に設定します。

ラスター イメージの境界をクリップする

次の例では、ラスター イメージをモデル空間に追加します。次に、イメージをクリップ境界に基づいてクリップします。この例では、Sample フォルダにある downtown.jpg ファイルを使用します。このイメージが存在しない場合や、別のフォルダにある場合は、変数 imageName に有効なパスおよびファイル名を指定してください。

Sub Ch10_ClippingRasterBoundary()
 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:\AutoCAD\sample\downtown.jpg"
 insertionPoint(0) = 5
 insertionPoint(1) = 5
 insertionPoint(2) = 0
 scalefactor = 2
 rotationAngle = 0

 On Error GoTo ERRORHANDLER
 ' Creates a raster image in model space
 Set rasterObj = ThisDrawing.ModelSpace.AddRaster _
 (imageName, insertionPoint, _
 scalefactor, rotationAngle)
 ZoomAll
 ' Establish the clip boundary with an array of points
 Dim clipPoints(0 To 9) As Double
 clipPoints(0) = 6: clipPoints(1) = 6.75
 clipPoints(2) = 7: clipPoints(3) = 6
 clipPoints(4) = 6: clipPoints(5) = 5
 clipPoints(6) = 5: clipPoints(7) = 6
 clipPoints(8) = 6: clipPoints(9) = 6.75

 ' Clip the image
 rasterObj.ClipBoundary clipPoints

 ' Enable the display of the clip
 rasterObj.ClippingEnabled = True
 ThisDrawing.Regen acActiveViewport
 Exit Sub

ERRORHANDLER:
 MsgBox Err.Description
End Sub