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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как ументшить размер PNG картинки??? 
:(
    Опции темы
AntonN
Дата 2.3.2009, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата

Если у вас при установке GDI+ появляется сообщение об ошибке, такого содержания:
Type 'IDirectDrawSurface' needs finalization - not allowed in variant record
то внесите в файл DirectDraw.pas следующие изменения:

//{$IFDEF COMPILER5_UP}
  PDirectDrawSurface = Pointer;
//{$ELSE}
//  PDirectDrawSurface = IDirectDrawSurface;
//{$ENDIF}


Это строки 331, 332 и т.д.

© Andy BitOff smile


--------------------
user posted image
PM MAIL WWW   Вверх
MetalFan
Дата 2.3.2009, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



AntonN, ну или Jedi.inc докрутить до используемой версии делфи.

Это сообщение отредактировал(а) MetalFan - 2.3.2009, 18:35


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


Опытный
**


Профиль
Группа: Участник
Сообщений: 683
Регистрация: 9.6.2006
Где: Россия, Санкт-Пет ербург

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



Спасибо всем поставил +
PM MAIL ICQ   Вверх
WaReZMEN
Дата 3.3.2009, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 683
Регистрация: 9.6.2006
Где: Россия, Санкт-Пет ербург

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



А еще несколько вопрос:
1. прозрачность куда пропала? 
2. Как нарисовать на канве без охранения в файл?
3. Если мне PNG нужно грузить из БД  (Blob), а не из файла?

Это сообщение отредактировал(а) WaReZMEN - 3.3.2009, 11:50
PM MAIL ICQ   Вверх
WaReZMEN
Дата 3.3.2009, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 683
Регистрация: 9.6.2006
Где: Россия, Санкт-Пет ербург

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



С пунктом 2 разобрался ... а остальные висят  smile 
PM MAIL ICQ   Вверх
MetalFan
Дата 3.3.2009, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



1. с пом.чего рисовал? у меня прозрачность не пропадала.
3. 
вариант 1: TGPImage.Create умеет на вход принимать IStream. в VCL есть класс-адаптер TStreamAdapter.
вариант 2: сохранить блоб в файл, затем грузить из файла.



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


Опытный
**


Профиль
Группа: Участник
Сообщений: 683
Регистрация: 9.6.2006
Где: Россия, Санкт-Пет ербург

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



MetalFan, да глюк в том что картинка в базе уже без прозрачности я пытаюсь сделать так 

Код

  png : TPNGObject;
begin

  png := TPNGObject.Create;
  png.LoadFromFile('3333.png');
  png.TransparentColor :=  png.Pixels[0,0];

Тогда появляется прозрачность а вот как ее дальше в   TGPGraphics запихать не пойму....
Ну блоб в файл сохранять сразу не потатит а Адаптером попробую...

Добавлено через 7 минут
сделал так правда пришлось кучу всего на создавать может проще можно????

Код

var
  lGPImgSrc: TGPImage;
  lGPImgDst: TGPBitmap;
  lGPGraph: TGPGraphics;
  lEnc: TGUID;
  Streem:  TStreamAdapter;
  png : TPNGObject;
  Str: TMemoryStream;
begin

  Str := TMemoryStream.Create;

  Streem := TStreamAdapter.Create(Str);

  png := TPNGObject.Create;
  png.LoadFromFile('3333.png');
  png.TransparentColor :=  png.Pixels[0,0];
  png.SaveToStream(Streem.Stream);

  lGPImgSrc := TGPImage.Create(Streem);

 lGPGraph := TGPGraphics.Create(Self.Canvas.Handle);



 lGPGraph.DrawImage(lGPImgSrc, 0,0, 48, 48 );



PM MAIL ICQ   Вверх
MetalFan
Дата 3.3.2009, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



WaReZMEN, а при чем тут PNGObject?

Это сообщение отредактировал(а) MetalFan - 3.3.2009, 13:25


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


Опытный
**


Профиль
Группа: Участник
Сообщений: 683
Регистрация: 9.6.2006
Где: Россия, Санкт-Пет ербург

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



MetalFan, у него проста поставить TransparentColor а также грузить из Blob можно так png.Assign(TBLOBField(Column.Field));
Единстве но что почему то стала ставится точка прирывания в CPU на  при 7C901231 C3 ret  деиствий (lGPImgSrc := TGPImage.Create(Streem);)
Если все это можно сделать проще с удовольствием посмотрю smile
PM MAIL ICQ   Вверх
Alexeis
Дата 3.3.2009, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

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



  Насколько я помню TGPBitmap умеет загружить png


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
WaReZMEN
Дата 3.3.2009, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 683
Регистрация: 9.6.2006
Где: Россия, Санкт-Пет ербург

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



Alexeis, а из blob может? Если да то нафиг уберу этот TPNGObject да и ктомуже не нашел у TGPBitmap подобия TransparentColor
PM MAIL ICQ   Вверх
MetalFan
Дата 3.3.2009, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



зачем тебе упал транспарентколор вообще? у тебя исходный png с прозрачностью? по поводу загрузки из блоба я уже писал - через поток


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


Опытный
**


Профиль
Группа: Участник
Сообщений: 683
Регистрация: 9.6.2006
Где: Россия, Санкт-Пет ербург

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



MetalFan, нет не прозрачный там но там есть BG цвета $3F003F я хочу его убрать. 

Есть у меня картинка такая user posted image хочу получить такую
user posted image только еще чтоб края были более четкими.

Это сообщение отредактировал(а) WaReZMEN - 3.3.2009, 15:50
PM MAIL ICQ   Вверх
AntonN
Дата 3.3.2009, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



можно png перегнать в tbitmap с альфой, уж битмап то можно куда то засунуть? smile


--------------------
user posted image
PM MAIL WWW   Вверх
WaReZMEN
Дата 4.3.2009, 08:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 683
Регистрация: 9.6.2006
Где: Россия, Санкт-Пет ербург

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



Сделал через "зад"
Код

const
  TRANSPARENT_COLOR=$3F003F
var
  png : TPNGObject;
  MyRect: TRect;
  btm: Graphics.TBitmap;
begin
...
          png := TPNGObject.Create;

          png.Assign(TBLOBField(Column.Field));

          png.TransparentColor := TRANSPARENT_COLOR;

          btm :=  TBitmap.Create;
          btm.SetSize(png.Width, png.Height + 1);
          btm.Canvas.Brush.Style := bsClear;
          btm.Canvas.Brush.Color := TRANSPARENT_COLOR;
          btm.Canvas.FillRect(btm.Canvas.ClipRect);
          btm.Canvas.Draw(0,0, png);
          png.Assign(btm);

          png.TransparentColor := TRANSPARENT_COLOR;


          DBGrid.Canvas.StretchDraw(MyRect, png);

          FreeAndNil(png);
          FreeAndNil(btm);
...

PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

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

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

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

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


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

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


 




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


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

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