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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Непонятно ведет себя TPicture в потоке, выдает черный или белый квадрат 
V
    Опции темы
Ne1tr1n0
Дата 4.9.2012, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Вроде разобрался. Создал маску, теперь с ней добавляю в ImageList
PM MAIL   Вверх
Nialon
  Дата 5.10.2012, 21:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Ne1tr1n0 @  31.8.2012,  15:46 Найти цитируемый пост)
Причем эта ошибка возникает нерегулярно, на одной и той же картинке может нормально отработать, а может и выдать черный или белый квадрат. Если надо - могу полностью скинуть проект.


Прочитал шапку, уже все понял. Перед финальным кодом надо обязательно синхронизировать !весь! потоковый блок.
Особенно если не разбираетесь или не читали литературу где написано что любое обращение к VCL надо синхронизировать.

Как только все идет по маслу, начинаете укорачивать блоки синхронизации до не безопасных строк. и все.
У меня точно такой же код с загрузкой, программа периодически сыпалась, что есть самый 1 признак, на LoadFromFile и все в таком духе.

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

DrawIcon специально создана для иконок и она учитывает их прозрачность, рисуя на холсте.
Даже DrawIcon, если не изменяет память, тоже фигово работает с иконками. Лучше брать LoadImage из unit Windows.
В Canvas нет умных методов, они простые. Если хотите прозрачность используйте что-то другое.

Суть вроде в том что сам TBitmap не поддерживает прозрачность. У вас белая кайма вокруг картинки, уверены что это не холст?
Вы нарисовали поверх нее !узкую! картинку. Если да, сузьте bitmap через setsize и рисуйте поверх.
Мой вариант на данный момент закрашивать хослт под цвет кнопок, чтобы он сливался.

Вообще я сейчас сам работаю над проектом где рисую миниатюры на кнопках, там везде проглядывают бока при выделении.
Я еще с этим не ковырялся, потом займусь.

----------------------------------------------------------

Упс, только заметил последнее сообщение. Видимо было на другой странице.
Ну конечно, маска. Добавляете в ImageList. Я тоже сохраняю все туда.
Можете привести кусок кода, который делает маску из финального изображения? Как она делается?
Чуствую, придется читать литературу по этой теме.
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

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

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

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


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

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


 




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


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

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