Форум: "WinAPI";
Текущий архив: 2005.02.20;
Скачать: [xml.tar.bz2];
ВнизКак вызвать DPtoLP для точек из метафайла (TMetaFile)? Найти похожие ветки
← →
Pavlik_Morozov (2004-12-29 14:05) [0]У меня есть метафайл
procedure LoadFromMetaFile(const AFileName: string);
var
MF: TMetafile;
begin
MF := TMetafile.Create;
try
MF.LoadFromFile(FileName);
DoMetaFile(MF);// различные действия с метафайлом
finally
MF.Free;
end;
end;
в котором "нарисованы" линии и при отрисовке использовались регионы отсечения.
Мне необходимо правильно извлечь примитивы из метафайла (вDoMetaFile
), но так как LineTo работает в логических координатах, аSelectClipRgn
в координатах устройства, то для преобразования региона в логические координаты мне необходимо вызывать функциюDPtoLP
, на входе которойHDC
... где его взять - непонятно:(
Подскажите, пожалуйста!
← →
clickmaker © (2004-12-29 15:56) [1]
> на входе которой HDC... где его взять - непонятно
TMetafileCanvas.Handle ?
← →
Pavlik_Morozov (2004-12-29 16:14) [2]не - это другое, это не DC
← →
clickmaker © (2004-12-29 19:20) [3]
> Pavlik_Morozov (29.12.04 16:14) [2]
> не - это другое, это не DC
а что это?
← →
Pavlik_Morozov (2004-12-30 11:01) [4]oops, извиняюсь...
да,TMetafileCanvas.Handle
именноHDC
, но у меня нетTMetaFileCanvas
... есть толькоTMetaFile
, созданный указанным выше способом (т.е. открытый из файла)...
а вызовotherMFCanvas := TMetaFileCanvas.Create(MF, 0);
DPtoLP(otherMFCanvas.Handle, vMyPoint, 1);
не даёт необходимого эффекта (точка не меняется).
Таким образом ещё появляется вопрос, как правильно "извлечь"TMetafileCanvas
из метафайла.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.02.20;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 2.184 c