![]() |
|
|||||||
| 論壇說明 |
|
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
|
主題工具 | 顯示模式 |
|
|
#2 (permalink) |
|
管理版主
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
可以使用兩個 PictureBox 加 圖形處理 API函數
(假設一個是目的 TPictureBox 一個是用來載入用的SPictureBox,所以 SPictureBox之 .Visible可以設為隱藏 =False) 一般常用的圖形處理 API函數有 BitBlt (宣告如下) 語法:
Public Declare Function BitBlt Lib "gdi32" ( _
ByVal hDestDC As Long, _
ByVal X As Long, _
ByVal Y As Long, _
ByVal nWidth As Long, _
ByVal nHeight As Long, _
ByVal hSrcDC As Long, _
ByVal xSrc As Long, _
ByVal ySrc As Long, _
ByVal dwRop As Long) As Long
語法:
Public Declare Function StretchBlt Lib "gdi32" ( _
ByVal hDestDC As Long, _
ByVal X As Long, _
ByVal Y As Long, _
ByVal nWidth As Long, _
ByVal nHeight As Long, _
ByVal hSrcDC As Long, _
ByVal xSrc As Long, _
ByVal ySrc As Long, _
ByVal nSrcWidth As Long, _
ByVal nSrcHeight As Long, _
ByVal dwRop As Long) As Long
語法:
StretchBlt TPictureBox.hDC, X, Y, W, H, SPictureBox.hDC, 0, 0, SPictureBox.ScaleWidth, SPictureBox.ScaleHeight, SRCCOPY 常用的如下 語法:
Public Const SRCCOPY = &HCC0020 '(DWORD) dest = source Public Const SRCAND = &H8800C6 '(DWORD) dest = source AND dest Public Const SRCERASE = &H440328 '(DWORD) dest = source AND (NOT dest ) Public Const SRCINVERT = &H660046 '(DWORD) dest = source XOR dest Public Const SRCPAINT = &HEE0086 '(DWORD) dest = source OR dest 至於如何實現你的例子 主要在於控制 X及Y座標 (這裡請自己想吧) 提示1: X=X+SPictureBox.ScaleWidth Y=Y+SPictureBox.ScaleHeight 使用兩層For迴圈 提示2: '先載入圖檔 SPictureBox.Picture=LoadPicture(FileName) '這裡加入控制 X及Y座標,最後再使用 ※A式 將來源圖(SPictureBox)複製到 目的(TPictureBox)上 提示3: 其他相關屬性 SPictureBox.AutoSize = True SPictureBox.AutoRedraw = True SPictureBox.ScaleMode = 3 '像素 |
|
|
送花文章: 2061,
|
|
|
相似的主題
|
||||
| 主題 | 主題作者 | 討論區 | 回覆 | 最後發表 |
| 如何開啟自動排列 | west8988 | 軟體應用問題討論區 | 3 | 2003-07-25 12:09 PM |
| 我的文件中自動排列被隱藏 | wenhan | 軟體應用問題討論區 | 1 | 2003-01-16 11:52 PM |