Форум: "Media";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
ВнизПеремещение изображения с использованием CopyRect Найти похожие ветки
← →
alex300474 (2008-12-16 14:19) [0]Пишу графический редактор, для перемещения изображения использую:
image2.Canvas.CopyRect(Rect(0,0,image2.Width,image2.Height),
image1.Canvas,Rect(OriginX,OriginY,OriginX+image2.Width,OriginY+image2.Height));
При первом перемещении всё работает. При последующих, в сдвигаемой области отображается не всё выделенное изображение, причём размер изображения в сдвигаемой области ограничен размером выделенным при первом перемещении. Пример сдвига изображения повзаимствовал из примера: http://blackman.hoha.ru/primer/2204/paintbrush.zip . В этом примере таже проблемма.
Я потратил уже много времени, моей компетенции не хватает, прошу помощи.
Заранее благодарен,Алексей.
← →
KilkennyCat © (2008-12-16 16:36) [1]Сохрани исходное изображение в буфер. Его и двигай, копируя туда, куда надо, и сколько надо. Таким образом, ты его не обрежешь.
← →
alex300474 (2008-12-16 19:26) [2]А каков механизм этого обрезания? Такое складывается впечатление что параметры (высота,ширина) не устанавливаются, т.е. устанавливаются но для области меньшей чем первая.
← →
Eraser © (2008-12-16 20:11) [3]> [0] alex300474 (16.12.08 14:19)
лучше для перемещения используй отдельный компонент TImage, удобнее будет и возможностей больше.
← →
KilkennyCat © (2008-12-16 23:06) [4]
> А каков механизм этого обрезания?
> OriginX,OriginY,OriginX+image2.Width,OriginY+image2.Height)
← →
KilkennyCat © (2008-12-16 23:14) [5]и вообще, странно все выглядит.
Создай два TRect, нормально пропиши вычисление их координат, тогда все и увидишь. В твоем оригинале думать сложно, особенно когда в имадже1 используются координаты имадже2... читабельный вариант будет выглядеть так:ImageReceiver.Canvas.CopyRect(RectReceiver, ImageTransmitter.Canvas, RectTransmitter);
и ищи ошибку в вычислении RectTransmitter, локализация точнее и не надо будет грешить на CopyRect
← →
Омлет (2008-12-17 22:58) [6]> Eraser © (16.12.08 20:11) [3]
> лучше для перемещения используй отдельный компонент TImage, удобнее будет и возможностей больше.
Я бы не советовал ))
← →
Eraser © (2008-12-19 16:35) [7]> [6] Омлет (17.12.08 22:58)
аргументируй.
использование TImage это по-сути [5] доведенный до совершенства и автоматизированный.
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.067 c