[TCanvas] Масштабирование и перемещение

Суть такова: на канве в TImage отрисовываются простейшие геометрические фигуры: (Круг, прямоугольник и треугольник). Как реализовать масштабирование и перемещение при помощи мыши? Собственно, есть код отрисовки фигур
procedure TForm1.DrawEllipseButtonClick(Sender: TObject); var MyRect: TRectF; x,y: integer; begin x:=round(image1.Width); y:=round(image1.Height); MyRect := TRectF.Create( x div 2 - strtoint(edit3.Text) / 2, y div 2 - strtoint(edit3.Text) / 2, x div 2 + strtoint(edit3.Text) / 2, y div 2 + strtoint(edit3.Text) / 2 ); Image1.Bitmap.Canvas.BeginScene; Image1.Bitmap.Canvas.DrawEllipse(MyRect, 40); Image1.Bitmap.Canvas.EndScene; end; procedure TForm1.DrawRectButtonClick(Sender: TObject); var MyRect: TRectF; x,y: integer; begin x:=round(image1.Width); y:=round(image1.Height); MyRect := TRectF.Create( x div 2 - strtoint(edit2.Text) / 2, y div 2 - strtoint(edit1.Text) / 2, x div 2 + strtoint(edit2.Text) / 2, y div 2 + strtoint(edit1.Text) / 2 ); Image1.Bitmap.Canvas.BeginScene; Image1.Bitmap.Canvas.DrawRect(MyRect, 0, 0, AllCorners, 100); Image1.Bitmap.Canvas.EndScene; end; procedure TForm1.DrawTriangleButtonClick(Sender: TObject); var p1, p2, p3, p4: TPointF; MyPolygon: TPolygon; begin p1 := TPointF.Create(16, 40); p2 := TPointF.Create(44, 6); p3 := TPointF.Create(15,20); p4 := TPointF.Create(16,40); SetLength(MyPolygon, 4); MyPolygon[0] := p1; MyPolygon[1] := p2; MyPolygon[2] := p3; MyPolygon[3] := p4; Image1.Bitmap.Canvas.BeginScene; Image1.Bitmap.Canvas.DrawPolygon(MyPolygon, 50); Image1.Bitmap.Canvas.EndScene; end; procedure TForm1.FormCreate(Sender: TObject); begin Image1.Bitmap.SetSize(Round(Image1.Width), Round(Image1.Height)); Image1.Bitmap.Clear(TAlphaColors.White); end;
P.S.: отрисовка треугольника, как можно увидеть, в проекте
Как масштабировать Bitmap на смартфоне?
Здравствуйте! Подскажите пожалуйста почему такая в масштабе разница отрисовки в Bitmap.Canvas в Windows и Android, и как ее настроить?

Windows:

Android:
1. Массив с координатами прямоугольников и их габаритами (миллиметры)
2. Поле для расположения этих прямоугольников ширина 2000мм длина 6000мм (ширину и длину может менять пользователь но не более этих размеров)
Вывести в Bitmap на экран это поле с расположенными прямоугольниками
на картинках «Лист» — это Image
Не могу понять как подогнать Bitmap.size под все экраны
Вопросы с меткой [bitmap]
Структура данных для кодирования изображений в виде набора битов, в котором каждый пиксель изображения отображается на бит или группу битов. Также используется для кодирования других сложных данных, где каждая элементарная информация сопоставлена с битами аналогичным образом. Для API растрового изображения, зависящего от платформы, предпочитайте более конкретные теги (например, android-bitmap или nsbitmapimagerep).
225 вопросов
Конкурсные
Неотвеченные
- Конкурсные 0
- Неотвеченные
- Цитируемые
- Рейтинг
- Неотвеченные (мои метки)
175 показов
При работе с Bitmap возникает ошибка: «Недопустимый параметр»
Есть метод CreateMergePhoto(), который склеивает две фотографии размером 1920х1080px и добавляет на них временную метку. Во время цикла на 235 фотографии, постоянно возникает ошибка: System.
18 показов
Почему при копировании изображения через указатель (BitmapData) картинка отображается не корректно?
Это изображение того, что получается. Код скопирован из документации Microsoft, кроме добавления PictureBox. Так что в нём ошибки маловероятны. Я так думаю что моя проблема связана с преобразованием .
Как обрезать изображение pictureBoxа в C#?
Код должен отрисовывать изображения с pictureBoxа на bitmap, но мне надо чтобы перед отрисовкой изображение ещё обрезалось снизу пикселей на 10. Помогите пожалуйста. Bitmap bitmap = new Bitmap(.
Почему при вырезании части изображения выходное изображение получается искаженным?
Программа под смартфон. На форме лежит Layout, на нем Image На картинке, посредине лежит Rectangle. Когда я пытаюсь вырезать из картинки участок ограниченный Rectangle, выходное изображение не .
Как убрать размытие при отображении bitmap-объекта?
Создал пустую биткарту 20 на 20 пикселей, после чего отрисовал каждый пиксель по отдельности с помощью циклов. После отображения биткарты в ImageView изображение оказалось размытым, как это исправить? .
17 показов
как рисовать анимацию поверх ранее нарисованной
уже несколько раз задавал вопрос, возможно неправильно, но решения не нашел. Очередная попытка)Я создаю рисовалку. Мне необходима возможность рисовать произвольные линии, типа карандаш, и различные .
48 показов
C# | new Bitmap(path)
Вопрос максимально плоский. Есть получение изображений: string[] imgs; int look_index = 0; while ((imgs = Directory.GetFiles(folder_path)).Length > look_index) < // . int w = 0, h = 0; try .
69 показов
C# Конвертировать буффер byte* в System.Drawing.Bitmap
У меня есть буфер, содержимое буффера blue green red alpha blue green red alpha blue . из этого буффера (в коде — buffer) нужно получить Bitmap. Вроде делаю всё правильно но получаю пустой Bitmap. .
Проблема с bitmam.save и строками
#include
3k показов
Добавление рисунка в ListBox
Есть такое задание: пользователь выбирает папку, из которой нужно просмотреть картинки. Эти картинки добавляются в ЛистБокс. Я знаю, как из папки считать картинки в List, но я не знаю, как динамически .
47 показов
Как получить Bitmap из другого Bitmap и цвета?
Программа выводит изображение на экран при помощи объекта Canvas.В папке drawable находится png-картинка. По имени картинки bitmapName я получаю Bitmap с помощью такого кода int resID = context.
156 показов
Как соединить две картинки в одну?
В папке drawable находятся 2 картинки image1.png и image2.png. Для того, чтобы вывести любую из них на экран я создаю bitmap таким способом. Bitmap bitmap = BitmapFactory.decodeResource(context.
130 показов
Задача: Сделать брутфорс MD5 хеша для картинки
Задача: Имеется png изображение и слепая зона этого изображения — Rectangle(0, 0, 8, 8), нужно изменяя пиксели(rgba) в слепой зоне найти момент, когда все байты изображения при переводе в хэш MD5 .
284 показа
Вывести PNG с прозрачными областями
У меня есть PNG с прозрачным фоном. Пытаюсь его нарисовать в Canvas через Bitmap, но вместо прозрачного фона отображается белый. Если попробовать вставить этот же PNG через ImageView, то получается то .
38 показов
Проблема с RecyclerView и Bitmap
У меня есть адаптер, который загружает картинки из музыкальных файлов. Сначала подгружала изображения таким способом Uri uri = Uri.parse(song.getPath()); MediaMetadataRetriever retriever = new .
технологии embarcadero png
- Subir PNG
- Condiciones de uso
- Contact Us