討論區快速選單
知識庫快速選單
程式設計俱樂部Facebook粉絲團 網路投保旅行平安險
[ 回上頁 ] [ 討論區發言規則 ]
載入dll來開啟圖檔,可是遇上了問題
更改我的閱讀文章字型大小
作者 : x25664413(BK)
[ 貼文 2 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2014/1/20 下午 04:12:34
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "png.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
//---------------------------------------------------------------------------
void __fastcall TForm1::Open1Click(TObject *Sender)
{
    TPNGImage *ThePNG;
    if(OpenPictureDialog1->Execute())
    {
     Image1->AutoSize=true;
     if(OpenPictureDialog1->FilterIndex==1)
     Image1->Picture->LoadFromFile(OpenPictureDialog1->FileName);
     else if(OpenPictureDialog1->FilterIndex==8)
     {
     ThePNG=new TPNGImage;
     ThePNG->LoadFromFile(OpenPictureDialog1->FileName);
     Image1->Picture->Bitmap->Assign(ThePNG);
     }
     OrgBitmap->Assign(Image1->Picture->Bitmap);
    }
}
//---------------------------------------------------------------------------
上面是我要開啟圖檔所打的程式碼,
先不管BCB能不載入DLL就能開啟PNG的圖,
我稍微解說一下程式碼,就是跳出對話盒來開啟圖片
FilterIndex==1的情形就開啟BMP
FilterIndex==8的情形就開啟PNG(因為我的表單拉下來第8個才是我加入的*.PNG)
但之後會出現以下的問題:
[C++ Error] Unit1.cpp(26): E2451 Undefined symbol 'TPNGImage'
[C++ Error] Unit1.cpp(26): E2451 Undefined symbol 'ThePNG'
[C++ Error] Unit1.cpp(34): E2303 Type name expected
[C++ Error] Unit1.cpp(34): E2379 Statement missing ;
[C++ Error] Unit1.cpp(38): E2451 Undefined symbol 'OrgBitmap'

PNG的DLL是在這裡載的
http://sourceforge.net/projects/libpng/?source=directory
排版可能不是很好請見諒,謝謝
如果還有不足的地方我會再補上!
作者 : ice_emissary(燃燒的大地) 貼文超過200則
[ 貼文 337 | 人氣 0 | 評價 1650 | 評價/貼文 4.9 | 送出評價 16 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人x25664413註記此篇回應為最佳解答 2014/1/20 下午 05:18:12
1. 記得把靜態連結檔 (*.lib) 加入專案。
2. 建議你用 C++ Builder 重新建置 libpng,不要用別人預先編好的,因為大部分的 Windows 預編譯 DLL 是用 Visual C++ 編的。
3. libpng 不是這樣用的吧(指你的程式碼)!你應該先看一看 libpng 的說明文件(http://www.libpng.org/pub/png/libpng-1.4.0-manual.pdf),雖然說我當時是看著 OpenCV 的原始碼學的。
作者 : x25664413(BK)
[ 貼文 2 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2014/1/21 下午 02:01:19
謝謝您的回答!
我還是一步一步重頭來練習好了,
還有很多不懂的地方要從工具書裡找出答案。
真的非常謝謝您的指導。
 板主 : Jammy
 > 新手入門 - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - 新手入門 - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
新手入門
1 Raymond 900 
2 BK. 820 
3 Jasper 500 
4 太子 500 
5 Benson 410 
6 joe 400 
7 DEMO999 370 
8 青衫 300 
9 小朱 300 
10 Eric Ho 290 
新手入門
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2018 程式設計俱樂部 http://www.programmer-club.com.tw/
0.046875