Программа под смартфон. На форме лежит Layout, на нем Image На картинке, посредине лежит Rectangle. Когда я пытаюсь вырезать из картинки участок ограниченный Rectangle, выходное изображение не соответствует границам и имеет искаженный масштаб. Ка можно привести это в норму?
Вопрос
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;
Ссылка на комментарий
2 ответа на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.