ПредишенСледващото

Как да се включите за борба с псевдонимите анти-псевдоними на андроид - пожар маймуна от А до Я

Изправени пред следния проблем - TImage игнорира заданията XRadius и YRadius в TRectangle (10.1 Берлин с актуализация 2)

В крайна сметка - аз трябва да имат TRectangle ъглите са леко заоблени, за това задам XRadius и YRadius. Вътре TRectangle намира TImage (0,0 горния ляв ъгъл ширина и височина размери съвпадат с TRectangle). Когато се зареди снимка в TImage (в дизайнер, че софтуер), се оказва, че TImage се показва с прави ъгли, игнорирайки XRadius YRadius и неговата майка. ClipChildren имот в TRectangle инсталиран.
Как да направим TImage е заоблена в ъглите? Какво е интересно, TCircle в този план работи, рязане TImage.

Как да се включите за борба с псевдонимите анти-псевдоними на андроид - пожар маймуна от А до Я

Аз пиша многоплатформени приложения. резултат от търсенето се показва в TGrid. Беше въпрос на показване на изображения в една от колоните.
На Windows, всичко е ОК, но таблетката е просто чудеса: Първият картографирането на всички правилно, но ако prostokolit нагоре и надолу, както и някои други сбиване снимки, някои от тях дори се появи с главата надолу.
Кодът за запазване на картината (JPG) в базата данни:
ако целеви (см) след това започва sm.Position: = 0; //TBlobField(dmData.cdsPlayerData.FieldByName('Photo')).LoadFromStream(sm); vImage: = TImage.Create (нула); опитайте sm.Position: = 0; vImage.Bitmap.LoadFromStream (см); vKoef: = vImage.Bitmap.Height / 64; vImage.Bitmap.Resize (TRUNC (vImage.Bitmap.Width / vKoef), TRUNC (vImage.Bitmap.Height / vKoef)); sm.Free; SM: = TMemoryStream.Create (); опитайте vImage.Bitmap.SaveToStream (см); TBlobField (dmData.cdsPlayerData.FieldByName ( "SmallPhoto")) LoadFromStream (см) .; най-накрая sm.Free; приключи; най-накрая vImage.Free; приключи; приключи; Преди да преминете:

Опитах се и LiveBinding и ръчно рисуване - резултатът е един и същ. Имаш ли представа какво не е наред?
Послепис Аз знам какво да правя през TListView, но по желание на клиента "на окото в старата програма", както андроидът ще се показва само на плочите - аз се съгласих.

Как да се включите за борба с псевдонимите анти-псевдоними на андроид - пожар маймуна от А до Я

Var ите: низ; FS: TFileStream; започне FS: = TFileStream.Create (tpath.Combine (tpath.GetDownloadsPath "load.jpg"), fmCreate); NetHTTPClient1.Get ((подателя като TImage) .Hint, FS); fs.Free; (Подателя TImage) .MultiResBitmap.Bitmaps [1] .LoadFromFile (tpath.Combine (tpath.GetDownloadsPath "load.jpg")); Свързах още па намерени на този форум FMX.Features.Bitmap.Helpers.pas
(Подателя като TImage) .MultiResBitmap.Bitmaps [1] .LoadFromUrl ((подателя като TImage) .Hint); толкова лесно да го направят и да съветва Грузия и формата не е закачена?

Как да се включите за борба с псевдонимите анти-псевдоними на андроид - пожар маймуна от А до Я

Добре дошли!
Целта е да се качват снимки и да ги показват в списък. Тя ще изглежда, като двата пръста, но.
Кодът е работил дълго време, всичко се зарежда и показва. След известно време, снимката вече не зарежда. Отстраняване на грешки разкри затворен безкраен цикъл в тази процедура:
процедура TBitmap.AssignFromSurface (Конст Източник: TBitmapSurface); Var BitmapData: TBitmapData; MAXSIZE: Integer; ResampledSurface: TBitmapSurface; I: Integer; SourceRect: TRectF; започне MAXSIZE: = CanvasClass.GetAttribute (TCanvasAttribute.MaxBitmapSize); <-- MaxSize = 0 if (Source.Width> MAXSIZE) или (Source.Height> MAXSIZE) след това започва SourceRect: = TRectF.Create (0, 0, Source.Width, Source.Height); SourceRect.Fit (TRectF.Create (0, 0, MAXSIZE, MAXSIZE)); ResampledSurface: = TBitmapSurface.Create; опитайте ResampledSurface.StretchFrom (Източник, TRUNC (SourceRect.Width), TRUNC (SourceRect.Height), PixelFormat); AssignFromSurface (ResampledSurface); <-- infinity loop here finally ResampledSurface.Free; end; end else begin SetSize(Source.Width, Source.Height); if Map(TMapAccess.Write, BitmapData) then try for I := 0 to TBitmapSurface(Source).Height - 1 do Move(TBitmapSurface(Source).Scanline[I]^, BitmapData.GetScanline(I)^, BitmapData.BytesPerLine); finally Unmap(BitmapData); end; end; end; В самом начале процедуры MaxSize получает значение 0 (ноль!), размеры картинки больше нуля и процедура влетает в бесконечный цикл на строке
AssignFromSurface (ResampledSurface);

Някой се сблъскват? Някаква идея как да се лекува?
Благодаря на всички ви!

Добър ден. Имаше нужда да се реши следния проблем: в таблицата с MySQL база данни съдържа списък с изображения и тяхното URL адрес. Трябва да получите списък масив. След качване на снимки и редуващи се с интервали от тях се показват в TImage.
Аз разбирам, че за да получите списък на правилните изображения с PHP скрипт, но в каква форма скърцане трябва да върне данните в Делфи, за да получите масив от тях не знаят.
По-рано, за да се получи снимки на такава процедура. Но въпросът е къде да се запази изображението преди да ги покаже в TImage? Създавайте различни MemoryStream?
процедура LoadWebImage (URL: низ; снимка: TBitmap);
Var
idhttp. TNetHTTPClient;
мс. TMemoryStream;
започвам
IdHTTP: = TNetHTTPClient.Create (нула);
MS: = TMemoryStream.Create;
опитвам
idhttp.Get (URL, мсек);
ms.Position: = 0;
image.LoadFromStream (MS);
накрая
ms.Free;
idhttp.Free;
приключи;
приключи;

Как да се включите за борба с псевдонимите анти-псевдоними на андроид - пожар маймуна от А до Я

Добър ден. Има един проблем, който вече няколко седмици не могат да се справят. Има една стара код под WinAPI, е необходимо да се променят под Android през firemonkey. И основният проблем - има код, който е от родния формат прави HBITMAP от WinAPI. В действителност, това е структура, където последното поле - указател към бита. Лесно е да се променят, да направи свое собствено копие на тази структура. Но сега трябва да го преведе на TBitmap, а аз наистина не разбирам как да го направя.

Как да се включите за борба с псевдонимите анти-псевдоними на андроид - пожар маймуна от А до Я

Добър ден! Кажи ми, как да знам на оригиналния размер на изображението, зареден в TImage.

Как да се включите за борба с псевдонимите анти-псевдоними на андроид - пожар маймуна от А до Я

Често, когато въз основа на метода на платно растерна графика се използва DrawBitmap, къде, по-специално, като аргумент трябва да се уточни правоъгълна района на източника (SrcRect) и приемника (DestRect). Тези правоъгълници записват формат (за ляво, горе отдясно и отдолу).
Когато определяте като SrcRect цялата растерна графика като цяло тук formuma и Osipova в книгата съм срещал такъв запис:
RectF (0,0, ABitmap.Width, ABitmap.Height) Но моята логика диктува, че това трябва да бъде размерът на растерна графика за един пиксел, както хоризонтално и вертикално повече, отколкото е всъщност, тъй като първата пиксел има координати (0, 0), и последната (ABitmap.Width, ABitmap.Height). Това най-вероятно води до нарушения в растерна графика се показва на платното.
Мисля, че при изготвянето на цялата растерна графика трябва да бъде написано, както следва:
RectF (0,0, ABitmap.Width-1, ABitmap.Height-1) Аз съм прав или не? Ако не, защо не?

Здравейте, приятели!
Prompt - възможно най-бързо, за да се определи липсата на изображението като такива в TBitmap?
Т.е. - има TBitmap. Той е или изпълнен със снимка (Снимка), или той е - напълно черен правоъгълник.
можете да разберете по какъв начин - че това е изображение? Т.е. - не е абсолютно черен правоъгълник.
И това е необходимо да се идентифицират "незабавно" (относително казано).
Преминаване към всички благодарим за Вашето участие!
Послепис Опции като това, което е долу - не предлагат)) Бих искал нещо "бързо"! Благодаря отново!
функция IsBitmapEmpty (BMP: TBitmap): булева; Var X, Y. цяло число; BmpData: TBitmapData; yAddr. Цяло число; AlphaCount. цяло число; започнем Резултат: = False; опитайте AlphaCount: = 0; Bmp.Map (TMapAccess.Read, BmpData); за Y: = 0 до Bmp.Height DIV 2 се започне YAddr: = Y * Bmp.Height; за X: = 0 до Bmp.Width - 1 направи, ако (PAlphaColorArray (BmpData.Data) ^ [YAddr + X] <> TAlphaColorRec.Null) и (PAlphaColorArray (BmpData.Data) ^ [YAddr + X] <> TAlphaColorRec.Black) след това започва INC (AlphaCount); Счупете; приключи; ако AlphaCount> 0, тогава прекъсване; приключи; накрая Bmp.Unmap (BmpData); Резултати: = AlphaCount = 0; приключи; приключи;

Delphi Сиатъл, Android 5.0.1
Генерира картината от ScanLine. На изхода на получения растерна графика е съставен на TImage на платно, който бе изготвен преди да го Rect.
GlobalBitmap - профили tbitmap.
с ObjectPreviewImage.Bitmap.Canvas направя започне BeginScene; Clear (TAlphaColorRec.White); DRect: = TRectF.Create (0, 0, GlobalBitmap.Width + 8, GlobalBitmap.Height + 8); DrawRect (DRect, 0, 0, AllCorners, StealthForm.ObjectPreviewImage.AbsoluteOpacity); DRect: = TRectF.Create (0, 0, GlobalBitmap.Width, GlobalBitmap.Height); DrawBitmap (GlobalBitmap, DRect, TRectF.Create (2, 2, GlobalBitmap.Width + 2, GlobalBitmap.Height + 2), 1); EndScene; приключи;
Проблемът всъщност в какво - в Android-версията на защитата на гостите и долната част на рамката "яде". всички Във версията Win32 са отлични. В приложените снимки на екрана да се вижда добре.
Четох документацията, Google Google.

Какво съм аз греша? Или неизвестни капани андроид рисуване върху платното?

Послепис Картината е един и същ, цвета на даден регион не се прилага правилно. Хайк твърде хуманоиден забавно. Но с това, че ще се справи.
P.P.S. Вече измисли цвят - за Android в синьо и червено в един пиксел трябва да се преобърне. Що се отнася до платното - тя не работи по никакъв начин.
P

Сега потребителите на страница 0

Не са хора, които търсят в тази страница

Подкрепете проекта - споделете линка, благодаря!