![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| SkilFul |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 12.5.2004 Репутация: нет Всего: 1 |
Глупо задавать вродебы такой глупый вопрос, но все-таки как же это сделать? В книге Бобровского не нашел и в ФАКАХ тоже (больно простой вопрос)!!!
ПРобовал FreeImage, но не получается выдается ошибка! Мне нужно чтобы Image.BitMap очистился!!! Подскажите как? |
|||
|
||||
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 19 Всего: 22 |
Image1.Picture.Bitmap := nil;
правда, не поручусь, что сия мудрая конструкция не будет течь -------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| Dr.Drunk |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 179 Регистрация: 12.1.2004 Где: Волжский Репутация: нет Всего: нет |
SkilFul
Удачи! --------------------
_Theory_ is when you know everything but nothning works._Practice_ is when everything works but no one knows why._IN THIS PLACE_ we're combining theory and practice -nothing works and no one knows why! |
|||
|
||||
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 19 Всего: 22 |
который благополучно даст AV.
-------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: 8 Всего: 57 |
Canvas.Clear там не работает?
|
|||
|
||||
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 19 Всего: 22 |
December, сам бмп при этом останется.
-------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| SkilFul |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 12.5.2004 Репутация: нет Всего: 1 |
нет у Canvas такого свойства нет. Добавлено @ 19:37
Работает! Это сообщение отредактировал(а) SkilFul - 19.5.2004, 19:38 |
||||
|
|||||
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 19 Всего: 22 |
SkilFul, присваивая битмапу nil ты не освобождаешь память, отведённую под сам битмап, а обнуляешь указатель на эту память. а сама память остаётся висеть в системе. сие называется memory leak, утечка памяти. и это не есть хорошо.
корректный способ мне в голову не приходит, видимо, пиво сказывается. Добавлено @ 19:50 вот что надумалось.....
блин. други! неужто проще нельзя?? -------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| SkilFul |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 12.5.2004 Репутация: нет Всего: 1 |
x77, огромное спасибо! Учту
|
|||
|
||||
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 19 Всего: 22 |
SkilFul, рад помочь асу по скинам ;)
-------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| devmstr |
|
|||
![]() Developer ![]() ![]() Профиль Группа: Участник Сообщений: 879 Регистрация: 28.4.2004 Где: Ukraine Репутация: 2 Всего: 11 |
Конечно можно намного проще
PatBlt(Image1.Canvas.Handle, 0,0,image1.ClientWidth,image1.ClientHeight,WHITENESS); ООчень быстро(WinAPi).. Приятной работы. -------------------- Think different ©Steve Jobs ![]() |
|||
|
||||
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 19 Всего: 22 |
magician, битмап останется.
да не проблема залить, FormImage скопировать в канвас - и алес гут. а вот корректно освободить, без течки? -------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| devmstr |
|
|||
![]() Developer ![]() ![]() Профиль Группа: Участник Сообщений: 879 Регистрация: 28.4.2004 Где: Ukraine Репутация: 2 Всего: 11 |
Мы BitMap заливаем белым цветом.. Битмап чист для послед. работы
Извените, но неужели Вы после загрузки картинки в Image при завершении работы приложения как-то очищаете использованную память!!!! Эту функцию прекрастно выполняет Delphi. Ну во всяком случае меня так учили... -------------------- Think different ©Steve Jobs ![]() |
|||
|
||||
| December |
|
||||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: 8 Всего: 57 |
Джентльмены, вы чё? Я понимаю, что лезть в дебри - фишка Винграда, но не настолько же! Средствами VCL:
И ничего освобождать не надо. Насчёт Clear я перепутал, конечно - это была моя процедурина с чем-то типа этого.
|
||||
|
|||||
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 19 Всего: 22 |
речь идёт об очистке самого имеджа. на нём есть картинка, её надо убрать. чтобы как будто её и не было. забудьте про канвас батмапа, он тут рояля не играет ни малейшего.
-------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: 8 Всего: 57 |
Это, конечно, если нужен сабж, а не секьюрный еомпонент, скрывающий рисунок.
|
|||
|
||||
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 19 Всего: 22 |
December, ты получишь белый прямоугольник. и что? под очисткой TImage я понимаю не заливку канваса bitmap неким цветом, а снос битмапа как такового. может я прогнал с постановкой, ну да втор рассудит.
я понимаю так: 1. есть пустой Image 2. делаем LoadFromFile 3. надо вернуть Image в исходное состояние. мне тоже кажется, что должно быть решение в одну строку. мой последний код с последовательным освобождением всех ресурсов, скорее всего, правильный. и утечек он не даст. но это дебильство. мне уже самому интересно. -------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| devmstr |
|
|||
![]() Developer ![]() ![]() Профиль Группа: Участник Сообщений: 879 Регистрация: 28.4.2004 Где: Ukraine Репутация: 2 Всего: 11 |
Я не понимаю, что ты собрался освобождать.
Что, если ты последовательно загрущишь в Image 50 картинок(просто применяя метод LoadFromFile без никакой очистки) 49 у тебя остануться в памяти мертвым грузом!!!!!!!!!!!!!!!!!!!!!!! Я еще раз подчеркиваю, что это не так. Нет я признаю, что я могу ошибаться, но все же! -------------------- Think different ©Steve Jobs ![]() |
|||
|
||||
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 19 Всего: 22 |
magician, ты прав. речь не о том.
открой пустой проект. кинь на него Image1 и кнопку. по кнопке загружай рисунок. кинь вторубю. кнопку. рисунок должен очиститься. не стать белым или зелёным. а таким, каким был изначально. т.н. - отсутствующим. как это корректно реализовать? -------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
x77, никакой утечки не будет. Bitmap - это свойство... Если присваиваешь nil, то произойдет простой .Free (см. метод SetGraphic)... Так что мудрить сильно не надо.
-------------------- С уважением, г-н Посол. |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
Правильно говорит p0s0l. Внимательно смотрим исходники:
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 19 Всего: 22 |
вау
-------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| GRU |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 20.7.2004 Репутация: 1 Всего: 1 |
Image.Picture.Assign(nil);
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |