Перейти к содержанию
Fire Monkey от А до Я
  • 0

Почему при вырезании части изображения выходное изображение получается искаженным?


Humanoid

Вопрос

Программа под смартфон. На форме лежит Layout, на нем Image На картинке, посредине лежит Rectangle. Когда я пытаюсь вырезать из картинки участок ограниченный Rectangle, выходное изображение не соответствует границам и имеет искаженный масштаб. Ка можно привести это в норму?
 

var
  bmpS, bmpD: TBitMap;
  iRectS: Trectf;
  HD, wD: integer;
  iRectD: Trectf;
   Scalex, scaley: real;
begin
  Scalex := 1;
  scaley := 1;
  bmpS := imgCameraView.Bitmap;
  iRectS := Trectf.Create(TPointF.Create(Ramka.Position.X * Scalex,
    Ramka.Position.Y * scaley), TPointF.Create((Ramka.Position.X + Ramka.Width)
    * Scalex, (Ramka.Position.Y + Ramka.Height) * scaley));

  wD := Max(0, Round(Ramka.Width));
  HD := Max(0, Round(Ramka.Height));

  bmpD := TBitMap.Create(wD, HD);
  iRectD := Trectf.Create(0, 0, Ramka.Width, Ramka.Height);
  Code.Visible := True;

  if bmpD.Canvas.BeginScene then
    try
      bmpD.Canvas.DrawBitmap(bmpS, iRectS, iRectD, 1);
      bmpD.Canvas.EndScene;
      Code.Bitmap.assign(bmpD);
     finally
      bmpD.Free;
 
    end;

 

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

я предлагаю простую игру
вместо всех этих (XXX+YYY*Z/12.4) поставить константы

и тогда вся отладка будет простой и красивой

50,50 - 100,120 - вырезать
0,0 - 50,70 - вклеить

и посмотреть, соответствует ли вашим ожиданиям картинка

на 99% ваша ошибка в расчетах координат. что ваши переменные обозначают и чему равны, кроме вас, никто не ведает

писать программу, чтобы отладить ваш код, ну какбы совсем лень

а свой проект вы не приложили.

вот собсно никто и не отвечает 

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...