if (OpenDialog1->Execute())
{
TCHAR filename[MAX_PATH];
lstrcpyn(filename, OpenDialog1->FileName.c_str(), MAX_PATH);
// declare and clear the PNGD_P2DINFO structure
PNGD_P2DINFO png2dib;
memset(&png2dib, 0, sizeof(PNGD_P2DINFO));
// initialize the structure size and filename
png2dib.structsize = sizeof(PNGD_P2DINFO);
png2dib.pngfn = filename;
// convert from PNG to DIB
if (read_png_to_dib(&png2dib) == PNGD_E_SUCCESS)
{
Graphics::TBitmap* Bitmap = Image1->Picture->Bitmap;
Bitmap->Width = png2dib.lpdib->biWidth;
Bitmap->Height = png2dib.lpdib->biHeight;
HBITMAP hBmp = Bitmap->ReleaseHandle();
HDC hDC = Canvas->Handle;
try
{
//
// TODO: add palette support...
//
// convert from DIB to TBitmap
SetDIBits(
hDC, hBmp, 0,
png2dib.lpdib->biHeight, png2dib.bits,
reinterpret_cast<LPBITMAPINFO>(png2dib.lpdib),
DIB_RGB_COLORS
);
}
catch (...)
{
Bitmap->Handle = hBmp;
GlobalFree(png2dib.lpdib);
}
Bitmap->Handle = hBmp;
GlobalFree(png2dib.lpdib);
}
}
Манипуляции с *.png файлом
Помогите пожалуйста, немогу решить две задачи.
1. Отображение *.png рисунка на форме.
(Дано: рисунок находится на C:\\png.png)
2. "Переделывание" *.png в *.bmp посредством C++ Builder 6.0
Нужен рабочий пример решения.
Спасибо.
Изучи GDI+
конвертация PNG в TBitmap
Код:
PNGD_P2DINFO png2dib;
говорит, что
Цитата:
[C++ Error] Unit1.cpp(26): E2451 Undefined symbol 'PNGD_P2DINFO'
http://entropymine.com/jason/pngdib/ и подгрузил следующее
как было указано в примере...
ругается на строчке
говорит
С сайта скачал
Код:
#include <windows.h>
#include <commdlg.h>
#include <stdio.h>
#include "resource.h"
#include <pngdib.h>
#include <commdlg.h>
#include <stdio.h>
#include "resource.h"
#include <pngdib.h>
как было указано в примере...
ругается на строчке
Код:
png2dib.lpdib->biHeight, png2dib.bits,
говорит
Цитата:
[C++ Error] Unit1.cpp(57): E2316 'bits' is not a member of 'PNGD_P2DINFO_struct'
В архиве лежит 2 папки
1. bmp2png в ней bmp2png.c и bmp2png.dsp
2. png2bmp в ней png2bmp.c и png2bmp.dsp
Подскажите куда эти файлы кидать в билдер?
[SIZE="1"]...сори, что я ламер...[/SIZE]
http://svn.abisource.com/abiword-plugins/trunk/tools/abipaint/win/
скачай, собери и посмотри как сделано )
в принципе, от того же Jason'а... не знаю что и на что там может ругаться =)
скачай, собери и посмотри как сделано )
в принципе, от того же Jason'а... не знаю что и на что там может ругаться =)