Форум: "WinAPI";
Текущий архив: 2006.10.22;
Скачать: [xml.tar.bz2];
ВнизScanLine жуткие тормаза Найти похожие ветки
← →
Kirill.info (2006-06-05 11:16) [0]Привет всем, у меня при вызове ScanLine жуткие тормаза:
bmp.Canvas.Handle:=GetDC(WinOb);
mpt.Height := re.Bottom-re.Top;
mpt.Width := re.Right-re.Left;
mpt.Assign(bmp);
mpt.Canvas.Draw(0, 0, bmp);
// mpt.SaveToFile("1.bmp");
// mpt.LoadFromFile("1.bmp");
h := mpt.Height - 1;
w := mpt.Width - 1;
for y := ym to h do
pl := mpt.ScanLine[y];
... ктонибудь знает как это лечиться?
← →
Kirill.info (2006-06-05 11:25) [1]если гружу из файла то все летает..., может быть это из-за того что нехвотает оперативки? 256 (winxp)
← →
MBo © (2006-06-05 11:35) [2]из-за того, что у тебя Bitmap не DIB, а DDB
сделай bitmap.handletype := bmDib
кроме того, Scanline вынеси за цикл по х
← →
Kirill.info (2006-06-05 11:42) [3]Огромное спасибо!,
а зачем Scanline выносить в x, если он получает всю линейку по x?
← →
MBo © (2006-06-05 11:57) [4]>а зачем Scanline выносить в x, если он получает всю линейку по x?
Пардон, это я невнимательно посмотрел, у тебя нет цикла по x, а только по Y
← →
Kirill.info (2006-06-06 06:31) [5]прям Черная полоса кокаята....
Почемуто у меня картинка когда я её читаю ScanLine получаеться в полосочку...?
← →
antonn © (2006-06-06 09:55) [6]Kirill.info (06.06.06 6:31) [5]
потому что pixelformat нужно установить нужный?
← →
Kirill.info (2006-06-07 11:27) [7]меняю PixelFormat уменя меняеться размер картинки,
как можно изменить битрейт?
← →
MBo © (2006-06-07 12:31) [8]>как можно изменить битрейт?
Какой еще битрейт?
У массива, с помошью которого идет обращение к Scanline, тип элементов должен соответствовать PixelFormat - например, для pf24bit - трехбайтные элементы
← →
Kirill.info (2006-06-07 14:25) [9]Спасибо уже разобрался!
с GetDC(WinOb) у мея неполучаеться снять окно если он закрыто другим, как можно получить картнику окно если оно закрыто сверху другим?
← →
MBo © (2006-06-07 14:42) [10]>как можно получить картнику окно если оно закрыто сверху другим?
в общем случае - никак
Непростой путь без гарантии - через WM_PRINT, WM_PRINTCLIENT
http://www.fengyuan.com/article/wmprint.html
← →
Kirill.info (2006-06-07 14:46) [11]Спасибо
← →
miek © (2006-06-08 08:06) [12]>как можно получить картнику окно если оно закрыто сверху другим?
Простой путь с гарантией - послать ему WM_PAINT.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2006.10.22;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.041 c