Windows Как да заредите HBITMAP в TBitmap Import - Fire Monkey A to Z
Добър ден Реших да се поровя в моята стара играчка спрайт, за да освежа знанията си и да измисля нещо ново. Появиха се съмнения дали графичният дисплей е направен нормално, дали може да се подобри. Всички спрайтове във времето за проектиране се вкарват в Timagelists. В началото на приложението зареждам растерни изображения от списъци с изображения в моите списъци с обекти, като ги коригирам до желания размер. MeduzasBitmpAr: масив [1..numofMeduzas] от TObjectList; След това рисувам по таймер в главния прозорец на играта Tpaintbox.OnPaint:
Пиша приложение за различни платформи. Резултатът от търсенето се показва в TGrid. Имаше въпрос за показване на снимка в една от колоните. На Windows всичко е наред, но на таблет се случват чудеса: при първия дисплей всичко е правилно, но ако просто плъзнете нагоре и надолу, тъй като някои снимки се трият от други, някои дори се показват с главата надолу. Код за запазване на изображение (jpg) в база данни: ако е присвоено (sm), тогава започнете sm.Position := 0; //TBlobField(dmData.cdsPlayerData.FieldByName('Photo')).LoadFromStream(sm); vImage := TImage.Create(нула); опитайте sm.Position := 0; vImage.Bitmap.LoadFromStream(sm); vKoef := vImage.Bitmap.Height / 64; vImage.Bitmap.Resize(Trunc(vImage.Bitmap.W )).LoadFromStream(sm); най-накрая sm Безплатно; край; накрая vImage.Free; край; край; Преди превъртане:
Пробвах и с LiveBinding, и с ръчно рисуване - резултатът е същият. Някакви идеи какво не е наред? P.S. Знам какво трябва да се направи чрез TListView, но клиентът иска „мрежа като в старата програма“, тъй като ще работи само на таблети на android - съгласих се.
Здравейте! Задачата е да качите снимки и да ги покажете в списъка. Изглежда като два пръста, но. Кодът работи дълго време, всичко се зарежда и показва. След известно време снимката спря да се зарежда. Отстраняване на грешкиразкри затворен безкраен цикъл в тази процедура: procedure TBitmap.AssignFromSurface(const Източник: TBitmapSurface); var BitmapData: TBitmapData; MaxSize: Цяло число; ResampledSurface: TBitmapSurface; I: Цяло число; SourceRect: TRectF; begin MaxSize := Canvas > MaxSize) или (Source.Height > MaxSize) след това започнете SourceRect := TRectF.Create(0, 0, Source.W > AssignFromSurface(ResampledSurface);
Някой изправен? Някакви мисли за това как да се лекува? Благодаря на всички!
Добър ден. Има един проблем, с който се боря вече няколко седмици. Има стар код за WinAPI, трябва да се преработи за Android чрез firemonkey. И основният проблем е, че има код, който прави HBITMAP от WinAPI от собствен формат. Всъщност това е структура, в която последното поле е указател към битове. Лесно е да преработите това, като създадете свое собствено копие на такава структура. Но сега трябва да го конвертирам в TBitmap и наистина не разбирам как да го направя.
Последни посетители 0 потребители онлайн
Няма регистриран потребител, който разглежда тази страница