Текущий архив: 2006.03.05;
Скачать: CL | DM;
Вниз
Увеличение области картинки. Найти похожие ветки
← →
MakedoneZ © (2005-09-27 12:36) [0]Дело такое...
Мне надо чтоб когда я выделял(мышкой создавал прямоугольник) какую-то область на экране,эта область автоматически увличивалась,в смысле масштаба.
Мне надо "вписать" некоторую область TImage,в TRect,далее эту область внести в свойство Picture,обекта TImage.
Но как это осуществить,я не знаю.
← →
Jeer © (2005-09-27 12:44) [1]Copy and resize a graphic. StretchDraw
Copy part of a canvas. CopyRect
F1
← →
Irinka © (2005-09-27 12:47) [2]наиболее важной части программы:
// переменные
var
Srect, Drect, PosForme: TRect;
iWidth, iHeight, DmX, DmY: Integer;
iTmpX, iTmpY: Real;
C: TCanvas;
Kursor: TPoint;
...
// Увеличиваем экран, если приложение не свёрнуто в иконку
if not IsIconic(Application.Handle) then
begin
// Получаем координаты курсора
GetCursorPos(Kursor);
// PosForm представляет прямоугольник с координатами Form (image control).
PosForme := Rect(Form1.Left, Form1.Top, Form1.Left + Form1.Width, Form1.Top + Form1.Height);
//Показываем magnified screen если курсор за пределами формы.
if not PtInRect(PosForme, Kursor) then
begin
// Далее код можно использовать для увеличения выбранной
// части экрана. С небольшими модификациями его можно
// использовать для уменьшения
// экрана
iWidth := Image1.Width;
iHeight := Image1.Height;
Drect := Bounds(0, 0, iWidth, iHeight);
iTmpX := iWidth / (Slider.Position * 4);
iTmpY := iHeight / (Slider.Position * 4);
Srect:=
Rect(Kursor.x, Kursor.y, Kursor.x, Kursor.y);
InflateRect(Srect, Round(iTmpX), Round(iTmpY));
//Получаем обработчик(handle) окна рабочего стола.
C := TCanvas.Create;
try
C.Handle := GetDC(GetDesktopWindow);
//Передаём часть изображения окна в TImage.
Image1.Canvas.CopyRect(Drect, C, Srect);
finally
C.Free;
end;
end;
// Обязательно обрабатываем все сообщения Windows.
Application.ProcessMessages;
end; // IsIconic
← →
MakedoneZ © (2005-09-27 12:58) [3]Спасибо за предыдущее.
Если можно,еще вопрос:
Как сохранить в графический файл,некоторую область картинки формата JPEG,которая находится в Image.
← →
Irinka © (2005-09-27 12:59) [4]полностью программку переслала вам по почте :-)
← →
Irinka © (2005-09-27 13:05) [5]нужно подключить модуль JPEG:
uses JPEG
потом как обычно:
Image1.Picture.SaveToFile(FileName);
← →
MakedoneZ © (2005-09-27 13:25) [6]
>
> Image1.Picture.SaveToFile(FileName);
Не а...
Так я сохраню ее всю.
А мне надо сохранить в файл ту область,которую я выделю при помощи мышки.
Мне как бы надо выделить мышкой верхний левый угол,нижний правый,и затем занести получившийся прямоугольник с поместившейся в него частью картинки в TRect,а его в свою очередь,сохранить в графический файл.
PS.
> полностью программку переслала вам по почте :-)
Ничего нет в почте.
Я то уж подумал,раз в жизни,девушка ради меня. :)
← →
Irinka © (2005-09-27 13:32) [7]песлала только сегодня, еще не дошло :-)
← →
MakedoneZ © (2005-09-27 13:34) [8]
> песлала только сегодня, еще не дошло :-)
Издевайтесь.
Страницы: 1 вся ветка
Текущий архив: 2006.03.05;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.01 c