㈠ 怎样打开PNG格式图片
想要打开npg格式图片,利用电脑自带的软件就可以了,打开方法如下,这里以win10系统为例。
1、在电脑上找到一张PNG格式的图片。
㈡ png图片插入到word文档时无法显示
可试试改一下图片设置。
插入wrod后,右单击这张图片,选“图片设置”。
在“图片设置”对话框中,选“版式”选项卡,换一换版式试试。我觉得“浮于文字上方”这种版式一般都是可以正常显示的。
㈢ png格式的图片如何显示
前几天用觉得XP系统有点慢,就清理了一下系统垃圾,但是访问某些网站的时候,发现一下PNG格式的图片打红叉,看不见。然后我进入另一个XP系统(我装的是双XP系统),发现很正常,没什么问题。初步估计打X的原因可能是浏览器不能识别PNG格式图片等所致。
上网查了一下查了下修复方法
1.点击“开始”,选择“运行”,输入“regedit”(注意:修复前请先备份注册表),检查注册表项,依次展开到下面:
HKEY_CLASSES_ROOT\\MIME\\Database\\Content
Type\\
2.有各种子项列表,这里分两种情况:第1种情况是乱码项导致。首先查看类似image/png
这样的项,看看有没有乱码,如发现有,删除后按F5刷新注册表。第二种情况:PNG关联文件丢失。若没有发现“image/png
”和“image/x-png
”这2个项,那就证明PNG相关联丢失,我的电脑就在存在这个问题,如果是这种情况,先到一台没问题的电脑上面打开注册表,分别将“HKEY_CLASSES_ROOT\MIME\Database\Content
Type\image/x-png”和“HKEY_CLASSES_ROOT\MIME\Database\Content
Type\image/png”导出,再拷贝到有问题的电脑,双击导入就可以了。
㈣ png格式的图片如何显示
如何在Windows应用程序中显示jpeg和png格式的图片 源代码片段(zip压缩包,5k)
依赖的第三方库(zip压缩包,900k)
经常看到有人在bbs技术版面上问类似的问题,简要介绍一下怎么解决这个小问题。因为Win32 API只对bmp格式的位图提供基本支持,所以需要使用第三方库来完成这个任务。GDI+其实就是一个很好的选择,不仅支持多种图片格式,而且支持图像处理操作,并且做了一定的优化,接口定义也十分清晰。
这里讲的是基于Independent Jpeg Group的JpegLib和libpng.org的libpng两个库的解决方案。Jpeg和png两种格式都是带压缩的图像格式,,所不同的是jpeg使用了有损压缩,png使用了无损压缩。要在Windows程序中显示这两种图片需要将压缩过的图片在内存中还原为位图。相对而言bmp格式的图片处理起来就容易得多,以至于查查资料每个人都可以写一个读取bmp图片的模块,当然,也不完全那么容易,还要考虑多种颜色模式和bmp图片中4像素对齐的问题。OK,不管jpeg和png读取多么麻烦,ijg和libpng.org已经写好了读取这两种格式文件的库,这两个库都是用C语言写的,期中libpng依赖于zlib,而zlib也是用C写成。
最近做的项目需要使用jpeg和png图片,这里把一些代码片段(没有DEMO,单读取文件部分是完整的)分享一下,这些代码的原始版本并不是我们小组写的,但是我们进行了封装并且修复了一些bug(比如内存泄露)。本来是想做个小DEMO演示一下,但是工作量比较大(我试图同时支持vc6,vc71,vc80,dev-cpp等等)。
以下是载入jpeg图片的方法:C++代码 HBITMAP PictureLoader::LoadJpegPicture( const char* fileName ) { FILE * jpegFile; struct jpeg_error_mgr jerr; struct jpeg_decompress_struct cinfo; if ((jpegFile = fopen(fileName, "rb")) == NULL) { return HBITMAP(0); } cinfo.err = jpeg_std_error(&jerr); jpeg_create_decompress(&cinfo); jpeg_stdio_src(&cinfo, jpegFile); jpeg_read_header(&cinfo, TRUE); jpeg_start_decompress(&cinfo); int rowSize = cinfo.output_width * cinfo.output_components; int width=cinfo.output_width; int height=cinfo.output_height; BYTE *bmpBuffer=new BYTE[(height+1)*width*3]; BYTE **pBuffer = (*cinfo.mem->alloc_sarray)((j_common_ptr) &cinfo, JPOOL_IMAGE, rowSize, 1); while(cinfo.output_scanline < cinfo.output_height) { jpeg_read_scanlines(&cinfo, pBuffer, 1); int start=rowSize*(cinfo.output_scanline-1); for(int i = 0; i < rowSize; i++) { bmpBuffer[start+i]=pBuffer[0][i]; } } jpeg_finish_decompress(&cinfo); jpeg_destroy_decompress(&cinfo); HBITMAP bitmap = CreateBitmapFromBuffer(bmpBuffer, width, height); fclose(jpegFile); delete[] bmpBuffer; return bitmap; }