'把圖像讀取到字節(jié)數(shù)組中進(jìn)行處理:

創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站建設(shè)、做網(wǎng)站、磴口網(wǎng)絡(luò)推廣、成都小程序開發(fā)、磴口網(wǎng)絡(luò)營銷、磴口企業(yè)策劃、磴口品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供磴口建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:www.yijiale78.com
Private?Declare?Function?GetBitmapBits?Lib?"gdi32"?(ByVal?hBitmap?As?Long,?ByVal?dwCount?As?Long,?lpBits?As?Any)?As?Long
Private?Declare?Function?SetBitmapBits?Lib?"gdi32"?(ByVal?hBitmap?As?Long,?ByVal?dwCount?As?Long,?lpBits?As?Any)?As?Long
Private?Declare?Function?GetObject?Lib?"gdi32"?Alias?"GetObjectA"?(ByVal?hObject?As?Long,?ByVal?nCount?As?Long,?lpObject?As?Any)?As?Long
Private?Type?Bitmap
bmType?As?Long
bmWidth?As?Long
bmHeight?As?Long
bmWidthBytes?As?Long
bmPlanes?As?Integer
bmBitsPixel?As?Integer
bmBits?As?Long
End?Type
Sub?ReverseImage(img?As?StdPicture,?Optional?UpDownOrLeftRight?As?Boolean?=?False)
With?img
Dim?BmpInfo?As?Bitmap
GetObject?.Handle,?Len(BmpInfo),?BmpInfo
Dim?BytesPixel?As?Integer
BytesPixel?=?BmpInfo.bmBitsPixel?/?8
Dim?Bits()?As?Byte
ReDim?Bits(BmpInfo.bmWidthBytes?-?1,?BmpInfo.bmHeight?-?1)
GetBitmapBits?.Handle,?BmpInfo.bmWidthBytes?*?BmpInfo.bmHeight,?Bits(0,?0)
Dim?rBits()?As?Byte
ReDim?rBits(BmpInfo.bmWidthBytes?-?1,?BmpInfo.bmHeight?-?1)
Dim?Y?As?Integer,?X?As?Integer
Dim?p?As?Integer
If?UpDownOrLeftRight?Then
Dim?rR?As?Integer,?sR?As?Integer
For?Y?=?BmpInfo.bmHeight?-?1?To?0?Step?-1
rR?=?BmpInfo.bmHeight?-?1?-?Y
For?X?=?0?To?BmpInfo.bmWidthBytes?-?1
rBits(X,?rR)?=?Bits(X,?Y)
Next?X
Next?Y
Else
Dim?rIndex?As?Integer
Dim?sIndex?As?Integer
For?Y?=?0?To?BmpInfo.bmHeight?-?1
For?X?=?BmpInfo.bmWidth?-?1?To?0?Step?-1
sIndex?=?X?*?BytesPixel
rIndex?=?(BmpInfo.bmWidth?-?1?-?X)?*?BytesPixel
For?p?=?sIndex?To?sIndex?+?2
rBits(rIndex,?Y)?=?Bits(p,?Y)
rIndex?=?rIndex?+?1
Next
Next?X
Next?Y
End?If
Call?SetBitmapBits(.Handle,?BmpInfo.bmWidthBytes?*?BmpInfo.bmHeight,?rBits(0,?0))
End?With
End?Sub
這個(gè)問題不是小問題。如果只是90度轉(zhuǎn),vb點(diǎn)虐 的picture控件有RotateFlip方法。
任意角度,可以參考這個(gè)
;cs-lang=csharp
圖片的變換涉及坐標(biāo)處理,要自己算。
還有可以用Windows Presentation Foundation (WPF) 編程,里面的image控件好像也能旋轉(zhuǎn)圖片。
如果是VB6,恐怕只能用API函數(shù)了,百度一下“vb 旋轉(zhuǎn)圖片” “VB api函數(shù)”了解一下
直接反轉(zhuǎn)的沒有,改用PictureBox 的繪圖方法是可以的,只是稍為繁瑣點(diǎn)。
如:
Picture1.PaintPicture LoadPicture("C:\Users\Administrator\Desktop\09.jpg"), Picture1.ScaleWidth, 0, -Picture1.ScaleWidth
就是只要把寬度或高度參數(shù)變?yōu)樨?fù)值,就會(huì)返轉(zhuǎn)換過來。左右反轉(zhuǎn)的話,x軸的起點(diǎn)在圖片框右邊。縱向反轉(zhuǎn),Y軸上的起點(diǎn)在下邊。
                當(dāng)前文章:vb點(diǎn)虐
圖片水平翻轉(zhuǎn) vb怎么把圖片左右移動(dòng)
                
                本文網(wǎng)址:http://www.yijiale78.com/article44/ddgcjhe.html
            
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、軟件開發(fā)、、響應(yīng)式網(wǎng)站、定制開發(fā)、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容
