Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.02.2013, 08:51   #1
Volkogriz
Форумчанин
 
Аватар для Volkogriz
 
Регистрация: 11.10.2007
Сообщений: 384
Вопрос как выделить память под TBitmap

Доброе время суток!
суть такая:
PHP код:
bmp.PixelFormat:=pf32bit;
bmp.Width:= player.Width^;
bmp.Height:=player.Height^;
player.ExtractFrame(bmp); 
как под TBitmap память выделить:
при конвертации в jpg ну и в tga жрёт
за ранее благодарен!
С уважением,
Volkogriz!
Не количеством плюсов измеряется репутация человека...!

Последний раз редактировалось Volkogriz; 02.02.2013 в 08:57.
Volkogriz вне форума Ответить с цитированием
Старый 02.02.2013, 09:31   #2
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

bmp.Width:= player.Width^; точно так?
eoln вне форума Ответить с цитированием
Старый 02.02.2013, 13:52   #3
Volkogriz
Форумчанин
 
Аватар для Volkogriz
 
Регистрация: 11.10.2007
Сообщений: 384
По умолчанию

Да )
BIK плеер готов только при конвертации
использую тот Bitmap в который использует плеер:
Код:
 player.ExtractFrame(bmp);
Но при конвертации начинает жрать память хоть и отчищаюЖ
Код:
TGA.Free;
но не магу добиться нормальной работы.
всё работает нормально но память до 1.5 гигов жрёт, памойму должно около
100 мег. максимум

тык как
Не количеством плюсов измеряется репутация человека...!
Volkogriz вне форума Ответить с цитированием
Старый 02.02.2013, 22:15   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А что это за компонент такой? Попробуй через профайлер проект пропустить и посмотришь где утечка.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.02.2013, 00:55   #5
Volkogriz
Форумчанин
 
Аватар для Volkogriz
 
Регистрация: 11.10.2007
Сообщений: 384
По умолчанию

Это не компонент.
Смысл просто как дубликат TBitmap зделать?
Когда пытаюсь создать дубликат TBitmap изображение очень некачественное получается)
Не количеством плюсов измеряется репутация человека...!
Volkogriz вне форума Ответить с цитированием
Старый 03.02.2013, 10:51   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Это не компонент.
Тогда не понимаю. Есть у него FreeImage метод?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.02.2013, 20:33   #7
Volkogriz
Форумчанин
 
Аватар для Volkogriz
 
Регистрация: 11.10.2007
Сообщений: 384
По умолчанию

Это модуль для работы с binkw32.dll и SMACKW32.DLL
Для воспроизведения делаю так:
Код:
bmp:=TBitmap.Create;
bmp.PixelFormat:=pf32bit;
bmp.Width:= player.Width^;
bmp.Height:=player.Height^;
player.ExtractFrame(bmp); 
Player.NextFrame;
Image1.Canvas.CopyRect(rect(0,0,bmp.Width,bmp.Height),bmp.Canvas,rect(0,0,bmp.Width,bmp.Height));
воспроизводит отлично, но при разбитие ролика на кадры:
Код:
jpgImg.Assign(bmp);
jpgImg.SaveToFile(ViewDir+Format('Ролик ' +StatusBar1.Panels[1].text+' Кадр ' +'%.*d.jpg', [k, Player.Frame]));
jpgImg.Free;
жрёт сволочь)
С уважением,
Volkogriz!
Не количеством плюсов измеряется репутация человека...!
Volkogriz вне форума Ответить с цитированием
Старый 03.02.2013, 20:47   #8
Slym
Участник клуба
 
Регистрация: 07.12.2011
Сообщений: 1,025
По умолчанию

весь код, а не кусками
или проект в архиве
Не стесняемся, плюсуем!
Slym вне форума Ответить с цитированием
Старый 03.02.2013, 20:57   #9
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

ТС а вы try finally ставьте. И в случае фэила память утекать не будет.
Человек_Борща вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как выделить память для структуры посредством new? Suby Общие вопросы C/C++ 11 07.11.2012 23:10
Выделить память под структуру. ХреновыйПрогер Общие вопросы C/C++ 9 26.12.2010 19:00
Как выделить память 750mb? VintProg Общие вопросы Delphi 10 29.06.2009 20:30
динамически выделить память под верхний треугольник квадратной матрицы juventine Общие вопросы C/C++ 2 12.04.2009 13:06
как выделить память для указателя (pointer), и сюда же, записать : integer, потом через 4 байта, boolean? bigxman Общие вопросы Delphi 1 02.02.2009 21:17