Ordan Опубликовано 4 мая, 2014 Поделиться Опубликовано 4 мая, 2014 У меня есть тайлсэт спрайтов, на дельфи можно было вырезать кусок и нарисовать его, как такое можно сделать на фаир монкей? Ссылка на комментарий
0 Администраторы Brovin Yaroslav Опубликовано 30 декабря, 2014 Администраторы Поделиться Опубликовано 30 декабря, 2014 Часть исходного TBitmap вырезается при помощи отрисовки этой части в другой TBitmap. Допустим есть такой проект: Тогда алгоритм по вырезанию будет следующий: Определяем регион вырезаемой области: var BitmapSource: TBitmap; BitmapDest: TBitmap; DestWidth: Integer; DestHeight: Integer; BitmapSourceRect: TRectF; BitmapDestRect: TRectF; begin BitmapSource := ImageSrc.Bitmap; BitmapSourceRect := TRectF.Create(TPointF.Create(nbX.Value, nbY.Value), nbWidth.Value, nbHeight.Value); Создаем TBitmap для вырезанной части: DestWidth := Max(0, Round(nbWidth.Value)); DestHeight := Max(0, Round(nbHeight.Value)); BitmapDest := TBitmap.Create(DestWidth, DestHeight); BitmapDestRect := TRectF.Create(0, 0, BitmapDest.Width, BitmapDest.Height); Выполняем отрисовку области исходного битмапа в конечный: if BitmapDest.Canvas.BeginScene then try BitmapDest.Canvas.DrawBitmap(BitmapSource, BitmapSourceRect, BitmapDestRect, 1); finally BitmapDest.Canvas.EndScene; end; Выводим полученное изображение на форму: ImageDest.Bitmap.Assign(BitmapDest); Результат: Xvir43 1 Ссылка на комментарий
Вопрос
Ordan
У меня есть тайлсэт спрайтов, на дельфи можно было вырезать кусок и нарисовать его, как такое можно сделать на фаир монкей?
Ссылка на комментарий
1 ответ на этот вопрос
Рекомендуемые сообщения