㈠ 怎樣打開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; }