Форум: "Media";
Текущий архив: 2009.12.27;
Скачать: [xml.tar.bz2];
ВнизGDI+ и изображения Найти похожие ветки
← →
kblc (2008-01-26 00:14) [0]Уважаемые мастера,
у меня к вам вопрос...
есть возможность вывести изображение (TGPBitmap, TGPImage) внутри произвольного региона?
т.е. конкретно мне нужно сделать вот что:
взять изображение (Его координаты (0,0), (10,0), (0,12),(10,12)) 10pix Х 12pix и натянуть его на вот такой регион: (0,0),(10,4),(0,12),(10,8).
← →
antonn (work) (2008-01-26 09:50) [1]поищи "афинное преобразование" и "перспективное преобразование". ссылку бы дал, если бы помнил.
← →
antonn (work) (2008-01-26 09:52) [2]возможно в самом ГДИ+ уже есть такая фича)
← →
kblc (2008-01-26 15:32) [3]есть конечно вариант
TGPGraphics.FillPath(Brush:TGPBrush; Path:TGPGraphicsPath);
где Brush: TGPTextureBrush...
но(!) это тоже самое, что и установить область отрисовки (Clip) и рисовать картинку.
((
antonn (work)
афинное преобразование - это ж не то, или я не прав?
а вот по поводу перспективного преобразования я ничего не нашёл.. (
← →
antonn © (2008-01-26 21:23) [4]вот пример, как вписать в произвольный выпуклый четырехугольник:
http://desksoft.ru/index.php?forum=13&th=67
← →
kblc (2008-01-27 11:17) [5]antonn,
Благодарю за помощь. Но я хотел попробовать это сделать средствами GDI+.
Если в этой библиотеке нет такой возможности, то я, конечно, поспользуюсь вашим ответом.
← →
гость (2008-01-28 18:01) [6]ответ на вопрос здесь
procedure Tboard.mydraw;
var
imageboardgraphics : TGPGraphics;
begin
imageboardgraphics := TGPGraphics.Create(imageboard.Picture.Bitmap.Canvas.handle);
imageboardgraphics.SetInterpolationMode(InterpolationModeHighQualityBicubic);
imageboardgraphics.DrawImage(
Bmp,
imageboardrect,
0, 0,bmp.getwidth,bmp.getheight, UnitPixel
);
imageboardgraphics.Free;
tform(tpanel(owner).GetParentComponent).Refresh;
end;
← →
kblc © (2008-01-29 06:41) [7]А где тут задаётся произвольный регион, если при
imageboardgraphics.DrawImage(
Bmp,
imageboardrect,
0, 0,bmp.getwidth,bmp.getheight, UnitPixel
);
0 - Left,
0 - Top,
bmp.getwidth - Width
bmp.getheight - Height
Где же задание региона, внутрь которого и нужно выводить графику?
← →
MultIfleX (2008-01-29 11:55) [8]есть возможность вывести изображение (TGPBitmap, TGPImage) внутри произвольного региона?
ответ: да есть, смотри стандартные примеры идущие с GDI+ для delphi, там есть пример вывода в произвольный четырёхугольник.
← →
capkoh © (2008-01-30 21:04) [9]Насколько я понял, речь идёт о выводе прямоугольника в трапецию.
Но в GDI+ предусмотрено рисование только в параллелограммы, вроде...
← →
Рамиль © (2008-01-31 09:58) [10]
> capkoh © (30.01.08 21:04) [9]
Можно сделать любую афинную трансформацию.
← →
cerber (2008-02-05 22:17) [11]А Директ Х никто не читал?
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2009.12.27;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.007 c