Поиск сообщества
Показаны результаты для тегов 'TImage'.
Найдено: 28 результатов
-
Столкнулся со следующей проблемой - TImage игнорирует установленные значения XRadius и YRadius у TRectangle (10.1 Berlin with update 2) Суть - мне необходимо, чтобы у TRectangle углы были немного скругленные, для этого я устанавливаю XRadius и YRadius. Внутри TRectangle расположен TImage (левый верхний угол 0,0, ширина и высота совпадают с размерами TRectangle). Когда я загружаю картинку в TImage (что в дизайнере, что программно), получается что TImage отображается с прямыми углами, игнорируя XRadius и YRadius своего родителя. Свойство ClipChildren у TRectangle установлен. Как сделать так, чтобы TImage скруглялся по углам? Что интересно, TCircle в этом плане работает, обрезая TImage.
-
Добрый день Уважаемые! Подскажите каким образом можно реализовать функцию ластика в XE 10.3? Например на форме лежит 2 TImage один над другим, и когда мышкой проводим по верхней картинке, остается "след" и видно нижнюю картинку? С Уважением!
-
Добрый день. Очень нужна Ваша помощь. Мне необходимо сделать координатную сетку в виде точек. При масштабировании панели количество точек должно изменяться . Хочу все это сделать на канве панели. Унаследовал класс и переопределил procedure Paint; override; Tfield = class(TPanel) Constructor Create( parent: TFmxObject); procedure Paint; override; Procedure OnMyClick (Sender: TObject); end; В теле метода я пробовал рисовать. Экспериментировал и столкнулся с такой проблемой. Ничего не отображается. Нет никаких изменений. Если я наследую не от Tpanel а от Timage то часть кода работает а часть работает очень криво. Очень хочу разобраться почему . {Отображается сразу} for a:=1 to 1000 do begin self.Canvas.Fill.Color:= TAlphaColors.Crimson; self.Canvas.FillEllipse(rect(1,1,10,10),self.AbsoluteOpacity); self.Canvas.FillEllipse(rect(round(self.Width-9),round(self.Height-9),round(self.Width), round(self.Height)),self.AbsoluteOpacity); self.Canvas.FillEllipse(rect(round(self.Width-9),1,round(self.Width), 9),self.AbsoluteOpacity); self.Canvas.FillEllipse(rect(1,round(self.Height-9),10, round(self.Height)),self.AbsoluteOpacity); end; {Отображается только после того как я проскролю Scrollbox на котором лежит панель в крайнее нижнее правое положение} self.Canvas.Stroke.Color:= TAlphaColors.Crimson; self.Canvas.Stroke.Thickness:=7; Canvas.BeginScene; self.Canvas.DrawLine(PointF(20, 20), PointF(100, 50), self.AbsoluteOpacity); Canvas.EndScene; Подскажите пожалуйста, почему не работает такое с панелью? Как правильно рисовать на панели? Почему в случае с имейджем все работает так некорректно? Почему работает только после скрола? Каким способом мне лучше сделать координатную сетку? состоящую из точек как в режиме Design?
- 3 ответа
-
- canvas
- firemonkey
-
(и ещё 2 )
C тегом:
-
RAD 10.2.3 Delphi , Win 10x64 Pro 1803 Подскажите, с помощью чего можно осуществить трансформацию изображения по опорным точкам (по углам)? Возможно, что не напрямую сам TImage, а при помощи работы с Canvas на его Bitmap. Пока удалось добиться подобной трансформации, заполнив нужным изображением полигон и, меняя координаты его вершин, делать нужные корректировки. var MyBrushBitmap: TBrushBitmap; Image1.Bitmap.Canvas.Fill.Kind := TBrushKind.Bitmap; Image1.Bitmap.Canvas.Fill.Bitmap := MyBrushBitmap; Image1.Bitmap.Canvas.Fill.Bitmap.WrapMode := TWrapMode.TileStretch; Image1.Bitmap.Canvas.FillPolygon(MyPolygon, 50); Однако, изображение частично обрезается при этом. В интернете поиском находил пример подобной трансформации на VCL, (перетаскиванием вершин мышью), но не смог приспособить этот пример для платформы FireMonkey.
-
Здравствуйте Появилась задача сделать надписи так, что бы цвет букв в одном слове был разный, как на картинке например Но так и не нашел решения. Делать слова по одной букве тоже не вариант. Как поступить, какой есть выход? Может кто то уже делал и есть наработки?
-
Как загрузить картинку в TRectangle по прямой ссылке?
yooSee опубликовал вопрос в Управление памятью
Привет ребят, созрел такой вопрос который меня мучает ! Вобщем пытаюсь загрузить картинку по прямой слыке с сервера. Картинка не грузится, не сохраняется не отображается. Конечная платформа - Андроид. Пишу на Delphi xe 10 seatle. Что я делаю? при нажатии на сам компонент TImage (созданный динамически), должна грузится картинка по адресу преждевременно записанное в hint (TImage) при создании вида (http://блаблабла.jpg) Раньше код ниже работал сейчас нет не пойму что не так. Почему стал ковырять? потому что форма встает колом при загрузке изображений. var s: string; fs: TFileStream; begin fs := TFileStream.Create(tpath.Combine(tpath.GetDownloadsPath, 'load.jpg'), fmCreate); NetHTTPClient1.Get((Sender as TImage).Hint, fs); fs.Free; (Sender as TImage).MultiResBitmap.Bitmaps[1].LoadFromFile (tpath.Combine(tpath.GetDownloadsPath, 'load.jpg')); подключал еще pas нашел на этом форуме FMX.Features.Bitmap.Helpers.pas (Sender as TImage).MultiResBitmap.Bitmaps[1].LoadFromUrl ((Sender as TImage).Hint); как проще сделать посоветуете чтоб и грузилось и форма не висла? -
На незначительном количестве устройств, менее 0,1%, получаю ошибку "Bitmap size too big" при AImage.Bitmap.LoadFromStream(AMemoryStream). Подозреваю что ошибка происходит на слабых устройствах. Картинка 250х250 png. Код выполняется в основном потоке (в интернетах были упоминания что глючит эта операция в отдельном потоке на каких то версиях Delphi). Как предотвратить подобное? Можно как то определить максимальный размер картинки для текущего устройства? Или может дело не в свободной памяти, а в чем то еще?
- 37 ответов
-
- Delphi XE8
- Android
-
(и ещё 2 )
C тегом:
-
Всем доброго времени суток. Возникла необходимость решить такую задачу: в таблице базы MySQL хранится список изображений и их URL. Необходимо получить этот список массивом. Затем загрузить изображения и поочередно с интервалом показать их в TImage. Понимаю, что получить список изображений правильнее при помощи PHP скрипта, но в каком виде скрип должен вернуть данные, чтобы в Delphi получить из них массив не знаю. Раньше для получения изображений использовал такую процедуру. Но вопрос, где хранить изображения перед демонстрацией их в TImage? Создавать несколько MemoryStream? procedure LoadWebImage(url: string; image: TBitmap); var idhttp : TNetHTTPClient; ms : TMemoryStream; begin IdHTTP := TNetHTTPClient.Create(nil); ms := TMemoryStream.Create; try idhttp.Get(url, ms); ms.Position := 0; image.LoadFromStream(ms); finally ms.Free; idhttp.Free; end; end;
- 15 ответов
-
Доброго времени суток! Подскажите, как узнать оригинальный размер картинки, загруженной в TImage ?
- 2 ответа
-
- firemonkey
- timage
-
(и ещё 2 )
C тегом:
-
Возник следующий вопрос: Допустим есть "сложная" форма, внешний вид которой должен быть нестандартным и на которой расположено N-ное количество компонент (исходим из того, что их много, некоторые из них - динамические, например - вывод видео с камеры). "Нестандартный вид" подразумевает: наличие тени у формы, измененный внешний вид, отличный от вида по умолчанию в любой ОС. Непосредственно вопрос звучит так. Какая из двух следующих реализаций будет работать быстрее (отрисовка/обновление этой формы при обновлении компонент: текста, списков, вывод видео и т.д.): Оба вида форм предопределяются в стиле. ВАРИАНТ 1. - Тень формы реализована в виде компонента TImage с подгруженным PNG изображением. - Контур формы реализован компонентом TRectangle с "окантовкой" и заливкой прямоугольника заданным цветом (все без градиентов) - Шапка формы реализована вторым прямоугольником TRectangle без "окантовки", но с заливкой другим цветом (без градиента) ВАРИАНТ 2. Вся форма задана одним объектом TStyleObject в котором в качестве свойств установлены: - SourceLookup - ссылка на PNG-изображение в данном стиле - SourceLink - создан TBitmapLink, у которого заданы свойства CapInsets и SourceRect Внешний вид у них будет практически одинаковый (хотя во втором случае он будет более корректным на любой ОС и при использовании любой видео-карты, чего не скажешь о первом варианте). Однако, интересует именно СКОРОСТЬ отрисовки в обеих случаях! Интересует именно теория, с точки зрения реализации самой FMX. З.Ы. Предполагаю, что вопрос больше к разработчикам FMX, но возможно у кого-то уже есть опыт работы с подобными задачами...
-
Добрый день, возникла проблема при работе с TImage; У меня компонент TImage - imgRing и есть в TImageList. Я динамически формирую Bitmap из копий картинки из TImageList и асайню его в TImage. На Windows все работает прекрасно, а на андроиде картинка все время пустая... Может кто-то подскажет, где я не прав //============================================================================== procedure TMainForm.DrawRing; //------------------------------------------------------------------------------ var bmp1, bmp2 : TBitmap; i : integer; str : TMemoryStream; begin bmp2 := TBitmap.Create; bmp2.Assign(ImageList.Source.Items[3].MultiResBitmap.Items[0].Bitmap); bmp1 := TBitmap.Create; bmp1.Assign(bmp2); bmp1.Width := ClientWidth + bmp2.Width * 10; i := 0; bmp1.Canvas.BeginScene(); while (i * bmp2.Width) < bmp1.Width do begin bmp1.Canvas.DrawBitmap(bmp2, RectF(0, 0, bmp2.Width, bmp2.Height), RectF(i * bmp2.Width, 0, (i + 1) * bmp2.Width, bmp2.Height), 1 ); inc(i); end{ while }; bmp1.Canvas.EndScene; str := TMemoryStream.Create; bmp1.SaveToStream(str); str.Position := 0; imgRing.BeginUpdate; imgRing.Bitmap.CreateFromStream(str); imgRing.EndUpdate; end{ procedure TMainForm.DrawRings }; Делаю такое потому-что TImage.WrapMode.Tile не подходит для моей задачи.
-
Всем доброго времени суток! Обнаружил проблему, связанную с загрузкой изображения в TImage. Если загружать изображения с хард диска очень быстро, то как будто TImage не поспевает и вываливает access violation. Delphi xe7 Fire Monkey 64 bit Windows. val:=round(360*value/max); //узнаём какова часть байт в градусах improgressbar.Bitmap.LoadFromFile(ExtractFilePath(paramstr(0))+'Pictures\ProgressBar\'+inttostr(val)+'.png'); labprogressbar.Text:=strtool.intbytetostr(value,1)+'Б'+#$D#$A+'/'+#$D#$A+strtool.intbytetostr(max,1)+'Б'; Application.ProcessMessages;
-
Исходно пытался нарисовать битмап на канве формы. Затем пытался нарисовать хоть что-нибудь. Все время получаю пустой экран. При этом аналогично ничего не получается и с TImage и с PaintBox. Проект на С++, Embarcadero XE7. Что я делаю не так? SolverMXE7.zip
- 20 ответов
-
Здравствуйте. Хочу загнать карту в приложение. Т.е. сделать ПринтСрин нескольких участков, слить их в одно изображение в фотошопе, а потом иметь возможность просматривать на смартфоне под android. Что бы можно было пальцами приблизить, подвигать карту. Какой компонет посоветуете?
- 17 ответов
-
- TBitmap
- DrawBitmap
-
(и ещё 2 )
C тегом:
-
Добрый день. Столкнулся с проблемой правильного отображения. есть картинка. Которая должна вращаться по принципу часовой стрелки, но при изменении свойства RotationAnge происходит смещение стрелки от своего центра вокруг которого она должна вращаться. Как правильно поворачивать стрелку?
-
Подскажите пожалуйста, как выровнять рисунок - хотелось бы, чтобы прямоугольный спрайт увеличивался в размерах, оставаясь по центру. Попробовал всё что очевидно, и снова пришёл за советом. 4.7z
-
Здравствуйте! Очень нравится FireMonkey, спасибо за отличный продукт. Помогите пожалуйста вот с каким моментом: как программно поменять размер изображения TImage ? ... Character.Bitmap.LoadFromFile( i.m[ be, bi ].g ); {спрайтик} Character.Position.X := ( Hall.Width - Character.Width ) / 2; {стоим посредине} Character.Position.Y := ( Hall.Height - Character.Height); {стоим на полу} Character.Width := PC.Width * PC.Scale; Character.Height := PC.Height * PC.Scale; ... Проблема: вместо того чтобы отведав пирожка расти стоя на полу, персонаж не меняется в размере. Это - кусочек кода, который по таймеру 10 раз в секунду отрисовывает персонажа. Топорно, без всяких оптимизаций (моя первая проба после TAnimationXXX). Вообще, скорость FireMonkey впечатляет - спрайт ростом с 3/4 экрана с лёгкостью меняется без морганий на очень слабом компьютере, и тики с относительно "тяжёлой" математикой не "наползают" друг на друга по времени. Объект PC - это персонаж, там хранятся вещмешок, умения, способности и пара полей для графики (масштаб PC.Scale и размеры в метрах PC.Height, PC.Width ). Форма запускается в полноэкранном режиме, на ней лежит TScaledLayout растянутый Align=Client на весь экран, внутри него - фоновый рисунок Hall, персонаж Character и класс-библиотека спрайтов, имена файлов рисунков доступны как i.m[].g
-
TImage [TCornerButton] Почему у меня не применяется мой стиль к TCornerButton?
estra опубликовал вопрос в TCornerButton
Собственно вопрос в заголовке темы. В редакторе стиля добавляю TImage, загружаю в него картинку. В StyleName кнопки прописываю свой стиль, но изображение все равно нет. Подскажите, как правильно добавить изображение на кнопку? Вот пример. CornerButtom.zip- 2 ответа
-
- TCornerButton
- StyleLookup
-
(и ещё 1 )
C тегом:
-
Приветствую! Не понятная ситуация с шириной линии. Рисую горизонтальную линию на канве толщиной толщиной 1 пиксель. Если линия лежит вдоль целых координат, например Y=100 то толщина линии реально получается 2 пикселя. А если координаты дробные, например 50.5 то линия в один пиксель. Вот как это выглядит: Т.е. я так понимаю, что координаты канвы начинаются не с нуля, а с 0.5. Как сделать чтобы отображение целых координат было точно в пиксель?
-
Доброе время суток! При рисовании на канве, например TImage абсолютно отсутствует антиалайсинг. Даже TShape с закругленными углами в design-time отрисовывается красиво, а в run-time без всякого сглаживания. Никакой информации по этому поводу не нашел. Может кто подскажет, как рисовать с антиалайсингом? В DesignTime: В Runtime: Пишу для android на XE5.
- 4 ответа
-
- Anti-aliasing
- Антиалиасинг
-
(и ещё 2 )
C тегом:
-
Здравствуйте. Решил не спамить в одну ветку, хоть и смежные, но все же разные вопросы. В своей компоненте хочу использовать Image. И что бы картинка у image менялась в зависимости от значения переменной. Вроде такого (vcl): if sType = 'sun' then image1.Picture.LoadFromFile('../sun.png'); if sType = 'moon' then image1.Picture.LoadFromFile('../moon.png'); Т.е. я так раньше делал. А как это сделать в своем компоненте, на FMX? Подскажите пожалуйста.
- 4 ответа
-
- TImage
- ApplyStyle
-
(и ещё 1 )
C тегом: