Specifies the clipping boundary for a raster image or an underlay.
Supported platforms: Windows only
VBA:
object.ClipBoundary PointsArray
Type: DgnUnderlay, DwfUnderlay, PdfUnderlay, RasterImage, Wipeout
The objects this method applies to.
Access: Input-only
Type: Variant (array of two-element array of doubles)
An array of 2D WCS coordinates specifying the clipping boundary of a raster image or underlay.
No return value.
You can define a region of an image or underlay object for display and plotting by clipping the object. Multiple instances of the same object can have different boundaries.
The clipping boundary must be a closed 2D polygon or rectangle with vertices constrained to lie within the boundaries of the image or underlay.
To clip an image or underlay, the object's boundary must be visible. Use the ClippingEnabled property to turn the clipping boundary on or off.
VBA:
Sub Example_ClipBoundary() ' This example adds a raster image in model space. ' It then clips the image based on a clip boundary. ' This example uses the "2d Projected Polylines.jpg" found in the Sample ' directory. If you do not have the image, or if it is located ' in a different directory, insert a valid path and name for the ' imageName variable below. 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\2d Projected Polylines.jpg" insertionPoint(0) = 5#: insertionPoint(1) = 5#: insertionPoint(2) = 0# scalefactor = 2# rotationAngle = 0 On Error Resume Next ' Creates a raster image in model space Set rasterObj = ThisDrawing.ModelSpace.AddRaster(imageName, insertionPoint, scalefactor, rotationAngle) If Err.Description = "Filer error" Then MsgBox imageName & " could not be found." Exit Sub End If ZoomAll MsgBox "Clip the image?", , "ClipBoundary Example" ' 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 MsgBox "The image has been clipped.", , "ClipBoundary Example" End Sub
Visual LISP:
(vl-load-com) (defun c:Example_ClipBoundary() ;; This example adds a raster image in model space. ;; It then clips the image based on a clip boundary. (setq acadObj (vlax-get-acad-object)) (setq doc (vla-get-ActiveDocument acadObj)) ;; This example uses the "2d Projected Polylines.jpg" found in the Sample ;; directory. If you do not have the image, or if it is located ;; in a different directory, insert a valid path and name for the ;; imageName variable below. (setq insertionPoint (vlax-3d-point 5 5 0) imageName ".\\Sample\\VBA\\2d Projected Polylines.jpg" scalefactor 2 rotationAngle 0) (if (/= (findfile ".\\Sample\\VBA\\2d Projected Polylines.jpg") nil) (progn ;; Creates a raster image in model space (setq modelSpace (vla-get-ModelSpace doc)) (setq rasterObj (vla-AddRaster modelSpace (findfile ".\\Sample\\VBA\\2d Projected Polylines.jpg") insertionPoint scalefactor rotationAngle)) (vla-ZoomAll acadObj) (alert "Clip the image?") ;; Establish the clip boundary with an array of points (setq clipPoints (vlax-make-safearray vlax-vbDouble '(0 . 9))) (vlax-safearray-fill clipPoints '(6 6.75 7 6 6 5 5 6 6 6.75 ) ) ;; Clip the image (vla-ClipBoundary rasterObj clipPoints) ;; Enable the display of the clip (vla-put-ClippingEnabled rasterObj :vlax-true) (vla-Regen doc acActiveViewport) (alert "The image has been clipped.") ) (alert (strcat imageName " could not be found.")) ) )