導航:首頁 > 動漫圖片 > c語言里怎麼用png圖片

c語言里怎麼用png圖片

發布時間:2025-05-22 21:12:05

1. bmp格式轉換PNG格式 c語言或c++編程

BMP是最簡單的圖形存儲格式,在c++里有朋友封裝了一個類CDib.
只要把圖片使用附件中編輯--粘貼來源找到圖畫打開另存為選擇你想要的格式保存就可以了。也可以右鍵點擊選擇打開方式使用圖畫打開相同的方法。另外photoshop 和office2003的picture manage也有這個功能。

Private Sub mnuconvertBMPtoJPG_Click()
Dim tmpimage As imgdes ' Image descriptors
Dim tmp2image As imgdes
Dim rcode As Long
Dim quality As Long
Dim vbitcount As Long
Dim bdat As BITMAPINFOHEADER ' Reserve space for BMP struct
Dim bmp_fname As String
Dim jpg_fname As String

bmp_fname = "test.bmp"
jpg_fname = "test.jpg"

quality = 75
' Get info on the file we're to load
rcode = bmpinfo(bmp_fname, bdat)
If (rcode <> NO_ERROR) Then
MsgBox "Cannot find file", 0, "Error encountered!"
Exit Sub
End If

vbitcount = bdat.biBitCount
If (vbitcount >= 16) Then ' 16-, 24-, or 32-bit image is loaded into 24-bit buffer
vbitcount = 24
End If

' Allocate space for an image
rcode = allocimage(tmpimage, bdat.biWidth, bdat.biHeight, vbitcount)
If (rcode <> NO_ERROR) Then
MsgBox "Not enough memory", 0, "Error encountered!"
Exit Sub
End If

' Load image
rcode = loadbmp(bmp_fname, tmpimage)
If (rcode <> NO_ERROR) Then
freeimage tmpimage ' Free image on error
MsgBox "Cannot load file", 0, "Error encountered!"
Exit Sub
End If

If (vbitcount = 1) Then ' If we loaded a 1-bit image, convert to 8-bit grayscale
' because jpeg only supports 8-bit grayscale or 24-bit color images
rcode = allocimage(tmp2image, bdat.biWidth, bdat.biHeight, 8)
If (rcode = NO_ERROR) Then
rcode = convert1bitto8bit(tmpimage, tmp2image)
freeimage tmpimage ' Replace 1-bit image with grayscale image
imgdes tmp2image, tmpimage
End If
End If

' Save image
rcode = savejpg(jpg_fname, tmpimage, quality)
freeimage tmpimage

End Sub

........... Add these defines and declarations to your Global mole ...........
' Image descriptor
Type imgdes
ibuff As Long
stx As Long
sty As Long
endx As Long
endy As Long
buffwidth As Long
palette As Long
colors As Long
imgtype As Long
bmh As Long
hBitmap As Long
End Type

Type BITMAPINFOHEADER
biSize As Long
biWidth As Long
biHeight As Long
biPlanes As Integer
biBitCount As Integer
biCompression As Long
biSizeImage As Long
biXPelsPerMeter As Long
biYPelsPerMeter As Long
biClrUsed As Long
biClrImportant As Long
End Type

Declare Function bmpinfo Lib "VIC32.DLL" (ByVal Fname As String, bdat As BITMAPINFOHEADER) As Long
Declare Function allocimage Lib "VIC32.DLL" (image As imgdes, ByVal wid As Long, ByVal leng As Long, ByVal BPPixel As Long) As Long
Declare Function loadbmp Lib "VIC32.DLL" (ByVal Fname As String, desimg As imgdes) As Long
Declare Sub freeimage Lib "VIC32.DLL" (image As imgdes)
Declare Function convert1bitto8bit Lib "VIC32.DLL" (srcimg As imgdes, desimg As imgdes) As Long
Declare Sub imgdes Lib "VIC32.DLL" (srcimg As imgdes, desimg As imgdes)
Declare Function savejpg Lib "VIC32.DLL" (ByVal Fname As String, srcimg As imgdes, ByVal quality As Long) As Long

《圖像處理----做一個自己的photoshop》
大部分都是源碼,其中有bmp<-->jgep<-->GIF的代碼.

閱讀全文

與c語言里怎麼用png圖片相關的資料

熱點內容
220伏蒸櫃怎麼接線圖片 瀏覽:415
qq頭像動漫帶字的圖片 瀏覽:344
貓妖圖片動漫 瀏覽:789
可上傳圖片版撕掉她的衣服 瀏覽:157
霸氣高冷的男生漫畫圖片 瀏覽:299
怎麼壓縮圖片到10k 瀏覽:205
美女被紋身圖片大全 瀏覽:508
蘋果如何查看圖片大小 瀏覽:75
圖片動漫唯美古裝 瀏覽:81
word插入文件夾的圖片和文字 瀏覽:439
女生洞口的圖片 瀏覽:887
鋼琴圖片動漫圖片大全 瀏覽:325
如何給圖片加暈影 瀏覽:428
原來是圖片怎麼改日期 瀏覽:972
如何快速給圖片按照姓名重命名 瀏覽:295
毛利蘭綠衣服圖片 瀏覽:161
悠閑的動漫圖片 瀏覽:213
馬蘇發型圖片 瀏覽:949
可愛卡通老鼠頭像圖片 瀏覽:29
ps裡面水印如何放在圖片上面 瀏覽:487