Модераторы: Snowy, Alexeis, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> наложение 2 PNG с прозрачностью в 3-й PNG 
V
    Опции темы
Flashboy
Дата 14.3.2011, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 13.3.2010

Репутация: нет
Всего: нет



Цитата(MetalFan @  14.3.2011,  14:01 Найти цитируемый пост)
а если попробовать использовать gdi+?

MetalFan, если Вам будет не сложно приведите пример на GDI+, для 2х PNG.

Это сообщение отредактировал(а) Flashboy - 14.3.2011, 17:37
PM MAIL ICQ   Вверх
Norfonzor
Дата 15.3.2011, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 17.10.2008

Репутация: нет
Всего: нет



MetalFan, помогите пожалуйста, очень важно!
PM MAIL   Вверх
MetalFan
Дата 15.3.2011, 19:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 5
Всего: 128



Я вам лишь направление для изысканий дал.
если вечером время будет, попробую "скрестить" два png с пом gdi+

Это сообщение отредактировал(а) MetalFan - 15.3.2011, 19:44


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Flashboy
Дата 15.3.2011, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 13.3.2010

Репутация: нет
Всего: нет



MetalFan, заранее спасибо за Ваше время.

Norfonzor, как ни странно я взял Ваш код(Ваш пост) откомпилил и получил результат, тот который был нужен Вам.
Пожалуйста напишите какую версию Delphi вы используете и дайте посмотреть тот компонент PNGImage.




Это сообщение отредактировал(а) Flashboy - 15.3.2011, 20:35
PM MAIL ICQ   Вверх
MetalFan
Дата 15.3.2011, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 5
Всего: 128



Вобщем то для gdi+ никаких проблем не составило это "скрещивание".
Вот пример кода:
Код

var
  lEnc: TGUID;
  lG: TGPGraphics;
  lGImgBack, lGImg: TGPImage;
begin
  lGImgBack := TGPImage.Create('File1.png');
  lGImg := TGPImage.Create('File2.png');
  lG := TGPGraphics.Create(lGImgBack);
  lG.DrawImage(lGImg2, MakePoint(0, 0));
  lG.Free;
  lGImg.Free;
  GetEncoderClsid('image/png', lEnc);
  lGImgBack.Save('res.png', lEnc);
  lGImgBack.Free;

файлы для работы с gdi+ под делфи брать тут

Пример отрисовки одного пнг на другой в аттаче.


Это сообщение отредактировал(а) MetalFan - 15.3.2011, 22:12

Присоединённый файл ( Кол-во скачиваний: 14 )
Присоединённый файл  res.png 5,22 Kb


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Flashboy
Дата 15.3.2011, 23:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 13.3.2010

Репутация: нет
Всего: нет



А вот и другой пример для GDI+, который взять можно тут GDIPlus.
Для тех кто использует D2009-XE это подойдет.
Код

Var
   GDP: IGPGraphics;
   GDPImgBack,lGImg: IGPImage;
Begin
   GDPImgBack := TGPImage.Create('CellTrans.png');
   GDPImg := TGPImage.Create('Azb.png');
   GDP := TGPGraphics.Create(GDPImgBack);
   GDP.DrawImage(GDPImg,20,20);
   GDPImgBack.Save('GDIPlusOut.png',TGPImageFormat.Png);
End;


MetalFan, Ваш пример работает на версиях старше D7, если внести изменения, на которые уже указывали Пост.

Это сообщение отредактировал(а) Flashboy - 16.3.2011, 00:44
PM MAIL ICQ   Вверх
Norfonzor
Дата 16.3.2011, 09:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 17.10.2008

Репутация: нет
Всего: нет



GDI+ под Delphi 7 работает на УРА!

СПАСИБО Flashboy, MetalFan!!! наберу 100постов ПОСТАВЛЮ++
код: 
Код

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, GDIPAPI, GDIPOBJ, StdCtrls, DB, DBTables, ActiveX, AxCtrls,PngGDIP;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var
  lEnc: TGUID;
  lG: TGPGraphics;
  lGImgBack, lGImg,lGImg2: TGPImage;

begin
  lGImgBack := TGPImage.Create('фон.png');
  lGImg := TGPImage.Create('а.png');
  lG := TGPGraphics.Create(lGImgBack);
  lG.DrawImage(lGImg, MakePoint(50, 50));
  lG.Free;
  lGImg.Free;
  GetEncoderClsid('image/png', lEnc);
  lGImgBack.Save('res.png', lEnc);
  lGImgBack.Free;

end;


end.



результат:
user posted image

компонент: http://webfile.ru/5195801


Это сообщение отредактировал(а) Norfonzor - 16.3.2011, 09:43
PM MAIL   Вверх
gonzales
Дата 22.7.2011, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 13.3.2006

Репутация: 1
Всего: 2



А не подскажет кто-нибудь, как реализовать на GDI+ маскирование одного имиджа по маске из другого файла
Пытаюсь реализовать через Graphics.SetClip, работает только при преобразовании битмапа в регион, но тогда теряется полупрозрачность, что недопустимо
Вот такой код не работает
Код

 Graphics := TGPGraphics.Create(image1.Canvas.Handle);
 Image:=TGPImage.Create('1.jpg');
 pngImage:=TGPImage.Create('2.png');
 g:=TGPGraphics.Create(pngImage);
 Graphics.SetClip(g); // клиппинг не срабатывает
 Graphics.DrawImage(image,0,0,700,700);

--------------------
- мастер, мастер, запорол..., все четыре запорол!!!- я ж тебе только три давал!!!???- да я и образец запорол!!!!
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.0795 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.