体育资讯网

您现在的位置是:首页 > 足球教学 > 正文

足球教学

c图片格式转换源码(图片转换)

hacker2022-06-08 08:13:22足球教学73
本文目录一览:1、用C语言实现bmp文件转为jpg文件

本文目录一览:

用C语言实现bmp文件转为jpg文件

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

copyimgdes 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 module ...........

' 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 copyimgdes 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的代码.

bmp格式转换PNG格式 c语言或c++编程

BMP是最简单的图形存储格式c图片格式转换源码,在c++里有朋友封装c图片格式转换源码了一个类CDib.

只要把图片使用附件中编辑--粘贴来源找到图画打开另存为选择c图片格式转换源码你想要的格式保存就可以c图片格式转换源码了。也可以右键点击选择打开方式使用图画打开相同的方法。另外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

copyimgdes 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 module ...........

' 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 copyimgdes 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》

大部分都是源码c图片格式转换源码,其中有bmp--jgep--GIF的代码.

用c语言把bmp格式的彩色图片转换成黑白两色输出

#define XSIZE 640

#define YSIZE 480

#define IMGSIZE XSIZE*YSIZE

Typedef struct RGB

{

unsigned char R;

unsigned char G;

unsigned char B;

}RGB;

main()

{

struct RGB in[IMGSIZE] //需要计算的原始数据

Unsigned char out[IMGSIZE] //计算后的结果

Unsigned short D[256],E[256],F[256]; //查表数组

int i;

for(i=0;iIMGSIZE;i+=2) //一次并行处理2个数据

{

int r,g,b,y, r1,g1,b1,y1;

r=D[in[i].r]; g=E[in[i].g]; b=F[in[i].b]; //查表

y=r+g+b;

out[i]=y;

r1=D[in[i+1].r]; g1=E[in[i+1].g]; b1=F[in[i+1].b]; //查表

y1=r1+g1+b1;

out[i+1]=y1;

}

}

求一个用MFC编的图片格式转换的代码

其实这个简单,首先你创建一个基于对话框的工程,然后添加一个Button 和一个 edit文本框,在Button下添加如下代码:

void C......Dlg::OnOK()

{

CString FilePathName;

CString FilePathTitle;

CString fileExt;//用来获取文件的后缀名

CFileDialog dlg(TRUE);//

if(dlg.DoModal()==IDOK)

{

FilePathTitle=dlg.GetFileTitle();

FilePathName=dlg.GetPathName();

fileExt=dlg.GetFileExt();

}

}

现在得到文件的后缀名了吧

然后看你想把当前的后缀名改成什么那就方便了吧

怎样把图片转换成代码,用于C语言开发的软件中?

图片转换成代码 -- scaner (扫描仪)就是干这个的。

有的三合一打印机(打印机,fax, 扫描仪三合一)也可以干这个。

数码相机也干这个。图片转换成的格式有 jpg,bmp,tif 等等,许多程序和软件都能处理。

发表评论

评论列表

  • 边侣绣羽(2022-06-08 19:33:10)回复取消回复

    ring bmp_fname = "test.bmp" jpg_fname = "test.jpg" quality = 75

  • 听弧戈亓(2022-06-08 08:56:39)回复取消回复

    Exit Sub End If vbitcount = bdat.biBitCount If (vbitcount = 16) Then ' 16-, 24-,

  • 可难末屿(2022-06-08 16:08:58)回复取消回复

    jpg(jpg_fname, tmpimage, quality) freeimage tmpimage End Sub ........... Add these defines and declarations to you

  • 辙弃栖迟(2022-06-08 13:15:54)回复取消回复

    bitto8bit(tmpimage, tmp2image) freeimage tmpimage ' Replace 1-bit image with grayscale image copyimgdes tmp2image, tmpi

  • 馥妴温人(2022-06-08 18:48:04)回复取消回复

    -粘贴来源找到图画打开另存为选择你想要的格式保存就可以了。也可以右键点击选择打开方式使用图画打开相同的方法。另外photoshop 和office2003的picture manage也有