真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

vb點虐 使用矢量圖的簡單介紹

怎樣用VB把一張圖片透明的放到Picture里,在線等

Public Function TranBlt(DestHdc As Long, X As Long, Y As Long, W As Long, H As Long, srcHdcOrBmp As Long, Optional srcX As Integer, Optional srcY As Integer, Optional srcW As Long, Optional srcH As Long, Optional tc As Long = -1, Optional IsBmp As Boolean) As Long

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:主機域名、虛擬空間、營銷軟件、網(wǎng)站建設、長島網(wǎng)站維護、網(wǎng)站推廣。

'srcHdcOrBmp參數(shù) 傳入的可以是hdc也可以是Bmp對象的Handle,

'IsBmp參數(shù) 為真時srcHdcOrBmp代表Bmp對象的Handle,為假時代表hdc

'返回值 成功時返回透明色,不成功時返回-1

Dim tHdc(3) As MemHdc

Dim J As Long, oc As Long, I As Long, Bm As BITMAP, cc As Long, NewDc As Long

Dim sw As Long, sh As Long, sBmp As Long, sHdc As Long, obm As Long, NewX As Long, NewY As Long

If DestHdc = 0 Or srcHdcOrBmp = 0 Or W = 1 And H = 1 Then GoTo fail

If IsBmp Then '若傳入的是Bmp句柄,需為其創(chuàng)建一個臨時DC

sBmp = srcHdcOrBmp

tHdc(3) = NewMyHdc(DestHdc, 0, 0, srcHdcOrBmp)

sHdc = tHdc(3).hdc

Else

sHdc = srcHdcOrBmp

If srcW = 0 Then sBmp = GetCurrentObject(sHdc, 7)

End If

If sHdc = 0 Or sBmp = 0 Then GoTo fail

If srcW = 0 Then '若沒有提供源圖大小,需取得整個源圖大小

GetObj sBmp, Len(Bm), Bm

sw = Bm.bmWidth - srcX

sh = Bm.bmHeight - srcY

Else

sw = srcW

sh = srcH

End If

If sw 1 Or sh 1 Then GoTo fail

If tc = -1 Then

cc = GetPixel(sHdc, srcX, srcY) '將左上角第一個像素作為源圖背景色,用于透明

Else

cc = tc

End If

If W sw Or H sh Then

tHdc(2) = NewMyHdc(DestHdc, W, H)

StretchBlt tHdc(2).hdc, 0, 0, W, H, sHdc, srcX, srcY, sw, sh, vbSrcCopy

'先將源圖縮放,下面步驟就一樣了。

NewDc = tHdc(2).hdc

Else

NewDc = sHdc

NewX = srcX

NewY = srcY

End If

BitBlt DestHdc, X, Y, W, H, NewDc, NewX, NewY, vbSrcInvert

'將源圖先反色(XOR)繪入目標圖,若源圖背景為黑色,此步可省

'下面是制作Mask圖的方法

I = CreateBitmap(W, H, 1, 1, ByVal 0) '建立單色位圖

tHdc(0) = NewMyHdc(DestHdc, 0, 0, I) '為單色圖建立新DC,并選入

tHdc(1) = NewMyHdc(DestHdc, W, H) '另建一個彩色圖及DC,用于存放Mask圖

oc = SetBkColor(NewDc, cc) '將源圖背景色改為透明色

BitBlt tHdc(0).hdc, 0, 0, W, H, NewDc, NewX, NewY, vbSrcCopy

'先將源圖繪入單色DC,由此產(chǎn)生只有正反的Mask圖,背景色(透明色)為黑,其它為白

SetBkColor NewDc, oc '恢復源圖背景色,不是必須的,但這是個好習慣。

BitBlt tHdc(1).hdc, 0, 0, W, H, tHdc(0).hdc, 0, 0, vbSrcCopy

'單色DC必須復制進彩色DC才能進行后面的的AND運算

'Mask圖完成,并已放入彩色DC

BitBlt DestHdc, X, Y, W, H, tHdc(1).hdc, 0, 0, vbSrcAnd '標準透明繪圖:選將Mask圖用And運算繪入,

BitBlt DestHdc, X, Y, W, H, NewDc, NewX, NewY, vbSrcInvert '再將源圖以反色(XOR)繪入一次

DelMyHdc tHdc(0)

DelMyHdc tHdc(1)

If tHdc(2).hdc 0 Then DelMyHdc tHdc(2)

If tHdc(3).hdc 0 Then DelMyHdc tHdc(3)

TranBlt = cc

Exit Function

fail:

If tHdc(3).hdc 0 Then DelMyHdc tHdc(3)

TranBlt = -1

End Function

Private Function NewMyHdc(dHdc As Long, W As Long, H As Long, Optional Bm As Long) As MemHdc

With NewMyHdc

.hdc = CreateCompatibleDC(dHdc)

If Bm = 0 Then

.Bmp = CreateCompatibleBitmap(dHdc, W, H)

Else

.Bmp = Bm

End If

.obm = SelectObject(.hdc, .Bmp)

End With

End Function

Private Function DelMyHdc(MyHdc As MemHdc, Optional nobmp As Boolean) As MemHdc

With MyHdc

If .hdc 0 And .obm 0 Then SelectObject .hdc, .obm

If nobmp = False And .Bmp 0 Then DeleteObject .Bmp

If .hdc 0 Then DeleteDC .hdc

End With

End Function

把這個函數(shù)放在一個BAS里,然后在窗體里

TranBlt pic.hdc, X,Y,W,H,PIC2.Picture.Handle, _

TX,TY,TW,TH, , True

就OK

矢量圖上那些大小不變的圖標VB.NET怎樣能實現(xiàn)

矢量圖是指大小變化,但是不出現(xiàn)鋸齒狀的失真,通常是用其他圖形設計軟件,比如coreldraw輸出圖片,拿出來使用,直接用vbnet不能實現(xiàn)吧

vb點虐 中,如何像下圖一樣,用很簡單的辦法,導入1000張圖片。

很簡單的方法,貌似沒有。這個需要自己寫很多代碼:

用一個ListView控件。

判斷滾動條當前所顯示的圖片集合,獲取它們的物理路徑。

用Bitmap.FromImage方法把這些圖片讀出來,

然后獲取縮略圖,

把縮略圖用Graphics.DrawImage()繪制出來。

我可以提供Bitmap如何獲取縮略圖的方法:

'''?summary必須創(chuàng)建一個委托并將對此委托的引用作為獲取縮略圖?callback?參數(shù)傳遞,但不使用此委托。/summary

Public?Function?ThumbnailCallback()?As?Boolean

Return?False

End?Function

'''?summary返回Image,表示圖像指定?寬?和?高?的縮略圖。/summary

Public?Function?獲取縮略圖(位圖?As?Bitmap,?寬?As?Integer,?高?As?Integer)?As?Image

Dim?myCallback?As?New?Image.GetThumbnailImageAbort(ThumbnailCallback)

Return?位圖.GetThumbnailImage(寬,?高,?myCallback,?IntPtr.Zero)

End?Function

vbnet打開文件夾下打開jpg和png

XPS文件格式經(jīng)常在文件處理應用程序中使用。您可以在基于.NET Framework的應用程序中使用C?;騐B.NET以編程方式將XPS或OXPS轉換為JPG或PNG圖像。

讓我們逐步介紹以下方案,以了解有關XPS轉換的更多信息:

使用C?;騐B.NET將XPS,OXPS轉換為JPG圖像

使用C?;騐B.NET將XPS,OXPS轉換為PNG圖像

目前,.NET版Aspose.page升級到v20.10版,感興趣的朋友可點擊下載

使用C?;騐B.NET將XPS,OXPS轉換為JPG圖像

JPG文件之所以出名是因為它們在所有系統(tǒng)環(huán)境中均受支持。您可以使用C#或VB.NET以編程方式將XPS或OXPS文件轉換為JPG圖像。對于XPS或OXPS到JPG圖像的轉換,應遵循以下步驟:

加載輸入XPS或OXPS文件

初始化JpegSaveOptions對象

指定要渲染的SmoothingMode,Resolution和PageNumbers

保存輸出的JPG圖像

以下代碼顯示了如何使用C#語言將XPS或OXPS轉換為JPG圖像:

// Input file

string inputFileName = dataDir + "input.xps";

//Output file

string outputFileName = dataDir + "XPStoImage_out.jpeg";

// Initialize XPS input stream

using (Stream xpsStream = File.Open(inputFileName, FileMode.Open, FileAccess.Read))

{

// Load XPS document form the stream

XpsDocument document = new XpsDocument(xpsStream, new XpsLoadOptions());

// or load XPS document directly from file. No xpsStream is needed then.

// XpsDocument document = new XpsDocument(inputFileName, new XpsLoadOptions());

// Initialize options object with necessary parameters.

JpegSaveOptions options = new JpegSaveOptions()

{

SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality,

Resolution = 300

};

// Create rendering device for JPG format

ImageDevice device = new ImageDevice();

document.Save(device, options);

// Iterate through document partitions (fixed documents, in XPS terms)

for (int i = 0; i device.Result.Length; i++) // Iterate through partition pages for (int j = 0; j device.Result[i].Length; j++) { // Initialize image output stream using (Stream imageStream = System.IO.File.Open(Path.GetDirectoryName(outputFileName) + Path.GetFileNameWithoutExtension(outputFileName) + "_" + (i + 1) + "_" + (j + 1) + Path.GetExtension(outputFileName), System.IO.FileMode.Create, System.IO.FileAccess.Write)) // Write image imageStream.Write(device.Result[i][j], 0, device.Result[i][j].Length); } }

使用C?;騐B.NET將XPS,OXPS轉換為PNG圖像

可能需要使用C?;騐B.NET和Aspose.Page for .NET API將XPS或OXPS文件轉換為PNG。您需要按照以下步驟將XPS轉換為PNG:

加載輸入XPS或OXPS文件

初始化PngSaveOptions對象

設置圖像分辨率或頁面編號為渲染

保存輸出的PNG圖像


當前文章:vb點虐 使用矢量圖的簡單介紹
URL網(wǎng)址:http://weahome.cn/article/ddesehg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部