Главная / FAQ по Builder'у / 123 Как открывать изображения в...

123 Как открывать изображения в PNG формате, что для этого надо?


А чем GDI+ от micro$oft не нравится. Умеет работать с bmp,icon,gif,jpeg,png,tiff.
Это старое GDI API дополненное рядом новых 
методов и оформленное в виде с++ классов, поддержка входит в поставку
Win XP,.NET (для NT4,2000,Me,98 необходимо скачать gdiplus.dll ~ 1mb
http://www.microsoft.com/downloads/release.asp?releaseid=32738 )

Перед использованием в BCB5 надо 1) преписать файлы gdiplus*.h из
поставки VC7 или PlatformSDK в BCB5\Include 2) утилиткой
BCB5\BIN\coff2omf переконвертировать gdiplus.lib из поставки VC7 или
PSDK в gdiplus.lib понятный BCB ( ну или при помощи BCB5\implib
сделать gdiplus.lib из gdiplus.dll) 3) добавить в свой проект
gdiplus.h и gdiplus.lib

В BCB6 уже должна быть поддержка GDI+. Описание всех функций и классов
GDI+ есть в MSDN/PSDK Help.

вот примерчик кода для BCB5 

//===================
#include <vcl.h>
//#pragma hdrstop
#include "Unit1.h"
#include <windows.h>
#include <gdiplus.h>
using namespace Gdiplus;

GdiplusStartupInput gdiplusStartupInput;
ULONG_PTR           gdiplusToken;

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  HDC hdc=Image1->Canvas->Handle;
  Gdiplus::Status s;
  s=Gdiplus::GdiplusStartup(&gdiplusToken, &gdiplusStartupInput,NULL);
  Gdiplus::Image* image=new Gdiplus::Image(L"2.png");  
  Gdiplus::Graphics Agraphic(hdc);
  Agraphic.DrawImage(image,0,0);
}
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction
&Action)
{
  Gdiplus::GdiplusShutdown(gdiplusToken);
}
//===================

Aleks Guy

Предыдущий вопрос   |  Список вопросов   |   Следующий вопрос

источник      На главную      by jenyok
Copyright © 2003 JTSOFT
Сайт управляется системой uCoz