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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отобразить png, работает, но очень криво 
:(
    Опции темы
ALeXandrK
  Дата 24.9.2007, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Нужно отобразить формат png.
Для этого пользуюсь библиотекой Png Delphi. 

Возникает проблема: я добавляю в uses pngimage, но, "как обещенно",
у обычного TImage форматов новых нет. Но, если я добавлю любой 
компонент из этой библиотеки, тогда поддержка png появляется.

Что самое странное, когда я все картинки загрузил, а потом перезапустил
Delphi, то поддержка опять исчезает. 

Проделывать такие процедуры перед каждым релизом что-то не вдохнавляет.

Пробовал так же пользоваться GraphicEx.
Добавляю нужный unit в uses, но опять-таки поддержка новых форматов не отражается. Но тут видимо только на RunTime рассчитано.

P.s.: пользуюсь Delphi 2007 без патчей

Это сообщение отредактировал(а) ALeXandrK - 24.9.2007, 17:34


--------------------
Богат не/ни тот, у кого много, а тот, кому хватает
PM WWW   Вверх
Alexeis
Дата 24.9.2007, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

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



ALeXandrK, думаю тут дело в оптимизации. Возможно ненужные модули просто выкидываются из билда. Попробуй в модуль добавить пустую функцию возвращающую строку или число, объявить ее в интерфейсе и вызвать ее у себя в программе.

Это сообщение отредактировал(а) Alexeis - 24.9.2007, 17:35


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

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

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


Опытный
**


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

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



В какой модуль? Не мог же он при оптимизации выкинуть модуль с фреймом.
Имеешь ввиду в GraphicEx и т.п.?

Установил еще компонент Graphics32 и у него тоже только стандартный набор форматов отображается. smile 

Уточняю: мне нужно загрузить изображения именно в DesignTime, а не в RunTime.

Вот в Graphics32 после перезапуска Delphi картинка остается на месте, но список форматов опять-таки
становится стандартным и к тому же прозрачность там ужасно отображается.

Может я что не так сделал: установил Png Delphi - на вкладке появились соответствующие
компоненты, может что дописать нужно, чтобы новые форматы отразились.

Это сообщение отредактировал(а) ALeXandrK - 24.9.2007, 18:09


--------------------
Богат не/ни тот, у кого много, а тот, кому хватает
PM WWW   Вверх
Alexeis
Дата 24.9.2007, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

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



Цитата(ALeXandrK @  24.9.2007,  17:46 Найти цитируемый пост)
В какой модуль? Не мог же он при оптимизации выкинуть модуль с фреймом.

  В тот где регистрируется новый формат для TPicture. А вообще, возможно что в 2007 изменился формат регистрации новых изображений.


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

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

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


Опытный
**


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

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



PngImage, как я посмотрел, учитывал Delphi 2007:
Код

unit pngimage;
...
{Here we test if it's c++ builder or delphi version 3 or less}
{$IFDEF VER110}{$DEFINE DelphiBuilder3Less}{$ENDIF}  // Тобишь в Delphi 2007 тоже тестировали
...
  {$IFDEF UseDelphi}{$IFDEF RegisterGraphic}
    TPicture.RegisterFileFormat('PNG', 'Portable Network Graphics', TPNGObject);
  {$ENDIF}{$ENDIF}


Видимо ты прав. Т.к. у меня в Unit нет компонентов из библиотеки PngImage, то
он ссылку на этот unit выкидывает, а соответственно и поддержку формата тоже.

Как же тогда включить поддержку формата, не добавляя ненужных компонентов?

Может есть спасительная дерективка компилятора...

Это сообщение отредактировал(а) ALeXandrK - 24.9.2007, 19:47


--------------------
Богат не/ни тот, у кого много, а тот, кому хватает
PM WWW   Вверх
ALeXandrK
Дата 28.9.2007, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Что-то совсем неладное. Даже когда ставлю кнопку из библиотеки
pngImage, то после перезагрузке Delphi картинка вылетает и 
компонент становится пустым (без картинки).


--------------------
Богат не/ни тот, у кого много, а тот, кому хватает
PM WWW   Вверх
Alexeis
Дата 28.9.2007, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

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



ALeXandrK, включай Debug Dcu и ищи в каком месте вылет. Может поможешь в разработке компонента. smile


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

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

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


Опытный
**


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

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



Цитата

Может поможешь в разработке компонента.

Всмысле компонента pngImage smile  Ну посмотрим... сначала найти надо в чем подвох smile 

Это сообщение отредактировал(а) ALeXandrK - 28.9.2007, 20:01


--------------------
Богат не/ни тот, у кого много, а тот, кому хватает
PM WWW   Вверх
ALeXandrK
Дата 28.9.2007, 21:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Вообщем посмотрел в RunTime там все впорядке, но в этом я и не сомнивался,
а вот каким образом проверить происходит ли инициализация (точнее
она явно не происходит) в DesignTime...
именно поэтому и картинки исчезают при перезапуски Delphi.


--------------------
Богат не/ни тот, у кого много, а тот, кому хватает
PM WWW   Вверх
Alexeis
Дата 28.9.2007, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

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



  Т.е. PNG шка сначала устанавливается в DFM, а затем оттуда исчезает?


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

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

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


Опытный
**


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

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



Цитата(Alexeis @ 28.9.2007,  23:21)
Т.е. PNG шка сначала устанавливается в DFM, а затем оттуда исчезает?

Png я загружаю в обычный TImage, после перезагрузки Delphi 
сама картинка, сюдя по содержанию dfm, находится там же,
т.е. никуда не исчезает, но в Delphi не отображается.

Но такая ситуация например с TpngSpeedButton не происходит - 
картинка отображается даже после перезагрузки Delphi.

Причем TpngSpeedButton и обычные TImage лежат на одной форме.

Хотя благодаря тому, что на форме теперь лежит компонент TpngSpeedButton,
формат png поддерживается (есть в списке при открытии диалогового окна
загрузки изображения в TImage).


Это сообщение отредактировал(а) ALeXandrK - 28.9.2007, 23:32


--------------------
Богат не/ни тот, у кого много, а тот, кому хватает
PM WWW   Вверх
Alexeis
Дата 29.9.2007, 00:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

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



ALeXandrK, после того как закроешь проект глянь сохранилась ли реально та картинка которая была загружена в TImage. Она должна быть внутри dfm файла. Нужно определиться, то ли она не сохраняется то ли не загружается.


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

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

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


Опытный
**


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

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



На форме лежит TpngSpeedButton (хотя он мне нафиг не нужен)
  • Загрузил картинку;
  •  1
  • Закрыл Dephi;
  • Картинка в dfm есть;
  • Открыл проект;
  • Картинка в dfm есть, но TImage отображается пустым;
  • Закрыл проект;
  • Открыл проект;
  • Картинка в dfm есть и TImage отображает картинку;
  • Loop 1;
  • Убрал TpngSpeedButton
  • Сохранил проект
  • Картинки в dfm нет
  • Положил TpngSpeedButton
  • Загрузил картинку;
  • Сохранил и закрыл проект
  • Открыл проект;
  • Картинка в dfm есть и TImage отображает картинку;
  • Закрыл Dephi;
  • Открыл проект;
  • Картинка в dfm есть, но TImage отображается пустым;
  • Убрал TpngSpeedButton и перезагрузил картинку;
  • Сохранил и закрыл проект;
  • Открыл проект;
  • Картинка в dfm есть и TImage отображает картинку;
  • Закрыл Dephi;
  • Картинка в dfm есть;
  • Открыл проект;
  • Картинка в dfm есть, но TImage отображается пустым;


Это сообщение отредактировал(а) ALeXandrK - 29.9.2007, 11:59


--------------------
Богат не/ни тот, у кого много, а тот, кому хватает
PM WWW   Вверх
MadCoder
Дата 29.9.2007, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Поставь нормальную версию PNGIMAGE. Мне в Delphi 2007 это помогло.
PM WWW ICQ   Вверх
ALeXandrK
Дата 29.9.2007, 20:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Я поставил официальную последнюю версию. Скажи тогда, какая нормальная?

Моя версия:  Version 1.564  2006-07-25;

Это сообщение отредактировал(а) ALeXandrK - 29.9.2007, 23:13


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

Запрещено:

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

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

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

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


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

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


 




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


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

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