Форум: "Начинающим";
Текущий архив: 2013.10.20;
Скачать: [xml.tar.bz2];
ВнизНарисовать зеркальную картинку. Найти похожие ветки
← →
Drowsy © (2013-01-27 06:59) [0]есть библиотечная процедура, которая картинку из файла рисует на канве.
параметры картинки (высоту, ширину, точку привязки) возвращает в Entities.
procedure DrawEntity(CanvasHandle : HDC ; Entities : TEntities;
x : real;y : real ;const angle : integer =0);
stdcall; external "GRAPH_DDL.dll" name
"@DrawEntity$qqspvr8Entitiesddi"; //"@1
Нужно написать процедуру, которая будет выводить на канву картинку ЗЕРКАЛЬНУЮ , той, которую
рисует DrawEntity.
Какой может быть алгоритм?
← →
bems © (2013-01-27 07:34) [1]попробуй сделать контексту зеркальный SetWorldTransform
← →
MBo © (2013-01-27 07:39) [2]StretchBlt creates a mirror image of a bitmap if the signs of the nWidthSrc and nWidthDest parameters or if the nHeightSrc and nHeightDest parameters differ. If nWidthSrc and nWidthDest have different signs, the function creates a mirror image of the bitmap along the x-axis. If nHeightSrc and nHeightDest have different signs, the function creates a mirror image of the bitmap along the y-axis.
или установить аффинное преобразование с отражением (SetWorldTransform) и отрисовать картинку любым образом
← →
Dimka Maslov © (2013-01-27 13:02) [3]Алгоритм построения зеркальной матрицы не слишком отличается от алгоритма построения зеркального массива.
for i := 0 to Count div 2 - 1 do Swap(Item[i], Item[Count - 1 - i])
при этом в свопе меняются местами не отдельные элементы, а строки или столбцы.
← →
antonn © (2013-01-27 22:52) [4]а если доступен canvas, то вообще через copyrect() не заморачиваясь...
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2013.10.20;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.002 c