CorelDRAWX4的VBA插件开发(七)形状的静态编号和一键转位图
CorelDRAWX4的VBA插件開發(七)形狀的靜態編號和一鍵轉位圖
優先說一些不容易掌握的一些小技巧.
一.靜態編號
靜態編號就是每個形狀Shape對象的屬性里面有一個叫作StaticID(靜態編號)的這么個功能,它里面是一個長整數Long,我是到后來才發現這個數的,平時并用不上,但是了解了它可以明白程序是怎么來區別每個形狀的.
比如,當我們在空畫布上畫一個框,那么這個形狀的靜態編號就會被賦值,它不會有重復的編號,是唯一的,而再畫另一個形狀其編號會+1,若把兩個形狀群組那其編號會再+1,不管怎么變,整個畫布上不會出現相同的編號,CDR就是通過這種方法以不變應萬變.下面就來演示一下:
Sub 第一個插件()MsgBox CorelDRAW.ActiveShape.StaticID End Sub還是把之前的代碼稍作修改,直接用MsgBox 后面帶上AcitveShape也就是當前選定的一個形狀,再帶上靜態編號, 這樣當我們選中某個形狀再按按鈕的時候,彈窗就會直接顯示一個數字,這個數字就是當前形狀的編號了,可以回到CDR進行測試.這里就不再講了.
演示:
轉換為位圖
示例代碼:
Sub 第一個插件()Set s = CorelDRAW.ActiveShape.ConvertToBitmapEx(cdrCMYKColorImage, False, False, 600, cdrNormalAntiAliasing, True, False, 95) End Sub測試:
選中某個群組對象之后點擊按鈕
cdrImageType
這個 cdrImageType 的顏色模式枚舉包含如下內容:
| cdrBlackAndWhiteImage | 0 | Specifies black-and-white | 黑白圖片 |
| cdr16ColorsImage | 1 | Specifies 16-color | 16色 |
| cdrGrayscaleImage | 2 | Specifies grayscale | 灰度 |
| cdrPalettedImage | 3 | Specifies paletted | 調色板色 |
| cdrRGBColorImage | 4 | Specifies RGB | RGB色 |
| cdrCMYKColorImage | 5 | Specifies CMYK | CMYK色 |
| cdrDuotoneImage | 6 | Specifies duotone | 雙色版色 |
| cdrLABImage | 7 | Specifies LAB | LAB色 |
| cdrCMYKMultiChannelImage | 8 | Specifies multi-channel CMYK | 多通道CMYK色 |
打開發者文檔,我們可以看到如下描述:
Shape.ConvertToBitmapEx
Function ConvertToBitmapEx([Mode As cdrImageType = cdrRGBColorImage], [Dithered As Boolean = False], [Transparent As Boolean = False], [Resolution As Long = 72], [AntiAliasing As cdrAntiAliasingType = cdrNormalAntiAliasing], [UseColorProfile As Boolean = True]) As Shape Member of Shape
The ConvertToBitmapEx converts a shape object to a bitmap.
| Mode | 設置圖像類型并返回cdrImageType.該參數為可選參數,默認值為“cdrRGBColorImage” |
| Dithered | 如果設置為True(-1),啟用顏色抖動的方法產生中間過渡色調,默認值為“False”。 |
| Transparent | 如果設置為True(-1),啟用透明背景.默認值為“False”。 |
| Resolution | 設置分辨率,默認值為72 |
| AntiAliasing | 設置反鋸齒,返回cdrAntiAliasingType該參數可選,默認值為“cdrNormalAntiAliasing(1)”。 |
| UseColorProfile | 如果設置為True(-1),則使用顏色配置文件,該參數為可選參數,默認值為True |
代碼釋義
Sub 第一個插件()Set s = CorelDRAW.ActiveShape.ConvertToBitmapEx(cdrCMYKColorImage, False, False, 600, cdrNormalAntiAliasing, True, False, 95) End Sub從前往后依次解釋:
cdrCMYKColorImage是轉換為CMYK顏色模式
false 第一個FALSE是關閉顏色抖動,第二個FALSE是不啟用透明背景
600這個是每英寸的長度內分辨率,也就是DPI
cdrNormalAntiAliasing 抗鋸齒模式1
True啟用顏色配置文件
False 關閉始終開啟疊印黑色
95 疊印黑色最大值為95
這樣我們就完成了一鍵轉換位圖的功能,要全部轉換,則只要加上一個循環即可
總結
以上是生活随笔為你收集整理的CorelDRAWX4的VBA插件开发(七)形状的静态编号和一键转位图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ligerUI的列头合并代码片段
- 下一篇: 从流水中倒推算出销量为多某值的日期