⑴ 用C语言实现,简单的告诉我,怎么读取当前目录下的一个jpg图像,并且显示出来
FILE *fp;
if((fp = fopen("sb.jpg","r") == NULL)) {
printf("\nerror");
exit(0);
}
以上仅仅能打开jpg文件,想要显示需要窗口编程。win32或者MFC来实现。
⑵ mfc编程如何设置用图片控件动态显示jpg图像。
jpg显示的步骤:
1。打开图片控件的绘图DC。2。使用OleLoadPicture函数读取jpg图像到内存中。(导入olepro32.dll)
3。向DC上绘制图像
示例如下:
CDC*pDC=GetDlgItem(IDC_STATIC_IMG)->GetDC();//获取控件DC
HDChDC=(HDC)pDC;
HANDLEhFile=CreateFile(szImagePath,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);//从指定的路径szImagePath中读取文件句柄
DWORDdwFileSize=GetFileSize(hFile,NULL);//获得图片文件的大小,用来分配全局内存
HGLOBALhImageMemory=GlobalAlloc(GMEM_MOVEABLE,dwFileSize);//给图片分配全局内存
void*pImageMemory=GlobalLock(hImageMemory);//锁定内存
DWORDdwReadedSize;//保存实际读取的文件大小
ReadFile(hFile,pImageMemory,dwFileSize,&dwReadedSize,NULL);//读取图片到全局内存当中
GlobalUnlock(hImageMemory);//解锁内存
CloseHandle(hFile);//关闭文件句柄
IStream*pIStream;//创建一个IStream接口指针,用来保存图片流
IPicture*pIPicture;//创建一个IPicture接口指针,表示图片对象
CreateStreamOnHGlobal(hImageMemory,false,&pIStream);//用全局内存初使化IStream接口指针
OleLoadPicture(pIStream,0,false,IID_IPicture,(LPVOID*)&(pIPicture));//用OleLoadPicture获得IPicture接口指针
//得到IPictureCOM接口对象后,你就可以进行获得图片信息、显示图片等操作
OLE_XSIZE_HIMETRIChmWidth;
OLE_YSIZE_HIMETRIChmHeight;
pIPicture->get_Width(&hmWidth);//用接口方法获得图片的宽和高
pIPicture->get_Height(&hmHeight);
pIPicture->Render(hDC,0,0,100,100,0,hmHeight,hmWidth,-hmHeight,NULL);//在指定的DC上绘出图片
GlobalFree(hImageMemory);//释放全局内存
pIStream->Release();//释放pIStream
pIPicture->Release();//释放pIPicture
ReleaseDC(pDC);
⑶ C#编程 用画图板依次打开指定文件夹中的jpg图片并保存
第一步,用Directory对象得到目录下所有的jpg图片到数组中
第二步,循环遍历这个数组,用Process对象调用mapaint打开图片
第三步,保存?这个地方不清楚怎么调用mapaint的菜单,发送键盘按键?还是提供有接口,期待高手
⑷ JPEG图像编码,要求:输入BMP图像,输出JPG压缩图像。(用Matlab编程实现!)
输入
y=imread('lena_2561.bmp');
显示
imshow(y),
输出
imwrite(y,'y1.jpg');
压缩有好多方法的,小波分析等!
⑸ “JPEG图像编码,要求:输入BMP图像,输出JPG压缩图像。(用Matlab编程实现!
x=imread('yourfile.bmp');%读入BMP
imwrite(x,'yourfile.jpg');%输出JPG
⑹ 如何编程实现将屏幕自动保存为JPG格式文件
将屏幕上的图片保存为JPG格式文件简单:按截取图片软件指定热键,选取.jpg文件格式保存。
粘贴板上的BMP格式图片先粘到Photoshop中,选取.jpg文件格式保存。
⑺ C语言实现把一个JPG图片分解为两个图片,急!!谢谢
麻烦。。无聊。。
先找着jpg文件头格式。。
C打开文件。。找到数据部分。。
新建文件。。写入。。保存。。
综上所述:无聊+麻烦。
⑻ 如何编程实现在jpg图片上添加文字
php调用gd库函数可以的!
另外,如果是网页上,用css定义一个div的背景图片为该图片,然后在div里输出你要添加的文字,不过这种不生成新图片的,只是看起来是而已!
⑼ 谁知道用编程如何实现JPG文件的压缩,最好是能在不改变大小的情况下,对JPG文件进行压缩
下载使用“JPEG optimizer 超级图片压缩器”软件吧。能对JPG压缩50%而不损失画质,自定压缩比,能即时显现压缩后的图片,让你比较差异,效果相当不错,操作简单,不用懂得PS技术就可以压缩出非常好的图像
⑽ 如何用VC++编程实现两张JPG图片的叠加
如果是VC6,你需要安装GDI+的开发包。虽然可以通过直接调用GDIPLUS.DLL里的函数来实现(不需要装开发包),但是很麻烦
1、用GDI+的Image对象载入大图JPG
2、用GDI+的Image对象载入小图的JPG
3、创建Graphics对象,绘制目标是大图的Image对象
4、用Graphics的DrawImage方法将小图绘制上去
5、调用Image的Save方法将处理好的图片保存到文件
注意点:
1、GDI+在使用之前需要调用GdiplusStartup函数来进行初始化工作
2、Graphics对象绘制完成之后调用Flush方法来确保所有操作已经确实反映到了图片上
3、Save方法需要提供编码器ID,获取编码器ID的方法可以在MSDN上Save方法的说明里的示例代码内查到(有原原本本的代码可以复制来用)