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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> PNG ??????????????? 
:(
    Опции темы
WaReZMEN
Дата 4.9.2007, 06:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Вообщем ситуация такая почитал я про PNG поробовал все ок но есть вопросы:
1. Цвет изображения
Код

Desktop:=TCanvas.Create;
 try
  with Desktop do
   Handle := GetWindowDC(GetDesktopWindow);
   with B.Canvas do
    begin
     CopyRect (Rect (0, 0, w, h),        DeskTop,           Rect (0, 0, w, h));
     Draw(Kursor.x,Kursor.y,Image1.Picture.Graphic);
    end;

  PNG := TPNGObject.CreateBlank(COLOR_PALETTE, 1, B.Width, B.Height);
  PNG.Assign(B);
  PNG.SaveToFile(ExtractFilePath(Application.ExeName)+'\'+temp.png');

как я прочел в хелпе чтоб сделать серую картинку нужно вместо COLOR_PALETTE поставить COLOR_GRAYSCALE. Но почемуто не работает. Может это потому что я пихаю туда уже цветную картинку???

2. Как сделать 256 цветов и 16 бит. чтоб в фаил записывалось? Или тут тоже все из за-того что я пытаюсь саписать в картинку?

3.  Есть ли возможность еще сжать картинку чтоб меньше весила? (CompressionLevel уже пробовал... )


M
Alexeis
Модератор: Название темы должно отражать ее суть!


Это сообщение отредактировал(а) Alexeis - 4.9.2007, 10:39
PM MAIL ICQ   Вверх
Alexeis
Дата 4.9.2007, 10:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

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



  Не думаю, что компонент умеет сам конвертировать форматы. Скорее всего ему нужно дать битмапку в соответствующем формате. 
  PNG - плохо сжимает изображения фотографического качества. Хорошего результата можно добиться только для формата 256 цветов с специально подобранной палитрой.


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

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

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


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

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



Делая Assing, ты автоматом уничтожаешь существующую картинку и создаёшь новую из битмапа.
Естественно она уже не серая, а имеет палитру битмапа.
Менять палитру нужно уже у подгруженного изображения.
PM MAIL   Вверх
WaReZMEN
Дата 5.9.2007, 00:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



С этим я разобрался для все кто незнает как я дописал к выше преведенному коду
 B.PixelFormat := pf4bit ... И еще вопрос как скалит изображение?

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


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

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



Из одного битмапа рисуешь на другой через StretchDraw
PM MAIL   Вверх
WaReZMEN
Дата 5.9.2007, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Ок спс!!!!
PM MAIL ICQ   Вверх
s-mike
Дата 5.9.2007, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 425
Регистрация: 16.1.2005
Где: Киев

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



Цитата(Alexeis @  4.9.2007,  10:45 Найти цитируемый пост)
  PNG - плохо сжимает изображения фотографического качества. Хорошего результата можно добиться только для формата 256 цветов с специально подобранной палитрой. 

Ты с GIF не перепутал?
PM MAIL WWW   Вверх
Alexeis
Дата 5.9.2007, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

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



Цитата(s-mike @  5.9.2007,  14:08 Найти цитируемый пост)
Ты с GIF не перепутал? 

  С GIF я не мог перепутать так как в Gif 24 битного цвета нет. Ну ладно пусть не так уж плохо, но все равно не так хорошо как jpeg. Это известный факт проверенный многими, да и я сам проверял, так что не стоит тут даже обсуждать.


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

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

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


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

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



Цитата(Alexeis @  5.9.2007,  14:33 Найти цитируемый пост)
 Это известный факт проверенный многими, да и я сам проверял, так что не стоит тут даже обсуждать.
Для скриншотов png даёт более высокий результат при более высоком качестве.
Скриншот - не фотография.
Много сплошных участков, которые отлично зипятся.
Джпег лучше для разнородных данных. А с однородными png справляется лучше и без потери качества.
PM MAIL   Вверх
WaReZMEN
Дата 6.9.2007, 07:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Народ а StretchDraw(); почемуто не работает :( Мне нужно чтоб картинку с 1027х768 сделал 800х600
тоесть в параметрах функций пишу StretchDraw(rect(0,0,800,600),Исходная картинка). Врезультате он мне просто отрезает всю остальную картинку а не масштабирует .... как быть?
PM MAIL ICQ   Вверх
Snowy
Дата 6.9.2007, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

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



Значит неверные параметры передаёшь стретчу.
Покажи код.
Или вот тебе пример: http://forum.vingrad.ru/index.php?showtopi...st&p=866002
PM MAIL   Вверх
WaReZMEN
Дата 7.9.2007, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Все ошибку устранил правда так и не понял почему она была 
у меня ьыло написано 
Код

    Image1.Canvas.StretchDraw(Rect(0,0,800,600),Bitmap);


Заменил на
Код

     Image1.Canvas.StretchDraw(Rect(0,0,Image1.Width,Image1.Height),Bitmap);


И все заработало smile  smile 
PM MAIL ICQ   Вверх
s-mike
Дата 7.9.2007, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 425
Регистрация: 16.1.2005
Где: Киев

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



Цитата(Alexeis @ 5.9.2007,  14:33)
Цитата(s-mike @  5.9.2007,  14:08 Найти цитируемый пост)
Ты с GIF не перепутал? 

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

По моему сравнивать тут нечего. PNG обеспечивает беспотерьное сжатие, в отличие от JPEG. PNG можно сравнивать с BMP (RLE), TIFF, TGA, PCX.

А вот какое сжатие нужно — с потерями или без, зависит от конкретного случая.
Цитата

Все ошибку устранил правда так и не понял почему она была 

А какие размеры Image?
PM MAIL WWW   Вверх
WaReZMEN
Дата 10.9.2007, 08:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



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

Запрещено:

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

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

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

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


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

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


 




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


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

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