ورود

View Full Version : پرنت كردن فلیم در panel نویشون داده‌ میشه‌



akar_program
دوشنبه 18 مهر 1390, 17:50 عصر
سلام دوستان من در برنامه‌ یو panel اوردم روی ان یك فیلم نیشون دادم میخواهم یك دكمه‌ داشته‌ باشم كه‌ روی ان كلیك كردم عكس فیلم كه‌ تو پانیل هست پرنت كنم میشه‌ یك رهنمای كنید ممنون

akar_program
سه شنبه 19 مهر 1390, 17:12 عصر
كه‌ سی رای حلی برای مشكیلی من ندارد ؟

Felony
چهارشنبه 20 مهر 1390, 07:47 صبح
میشه همچین تابعی نوشت ، نوشتن بخش پرینتش با خودتون ، بیشتر از این وقت ندارم :

Procedure PrintPanel(Const aPanel: TPanel);
Var
Canvas: TCanvas;
Bmp: TBitmap;
SourceRect: TRect;
begin
SourceRect.Top:= aPanel.Top;
SourceRect.Left:= aPanel.Left;
SourceRect.Right:= aPanel.Left + APanel.Width;
SourceRect.Bottom:= aPanel.Top + APanel.Height;

Canvas := TCanvas.Create;
try
Canvas.Handle := GetDc(GetParentForm(aPanel, True).Handle);
Bmp := TBitmap.Create;
Bmp.Width := aPanel.Width;
Bmp.Height := aPanel.Height;
Bmp.PixelFormat := pf24bit;
Bmp.Canvas.CopyRect(aPanel.ClientRect, Canvas, SourceRect);
Bmp.SaveToFile('D:\Captrue.bmp');
finally
ReleaseDC(GetParentForm(aPanel, True).Handle, Canvas.Handle);
Bmp.Free;
Canvas.Free;
end;
end;

سعید صابری
چهارشنبه 20 مهر 1390, 17:33 عصر
یه راه دیگه اینه از کامپوننت visioforge_media_player_delphi که رایگان هستش و امکانات زیادی نیز دارا می باشد اینکار با یک خط کد انجام میده