PDA

View Full Version : تصویر برداشتن از صفحه فرم



erfan_urchin
سه شنبه 22 اسفند 1391, 21:34 عصر
چجوری میشه از صفحه ی فرم یه تصویر برداشت؟؟
من کد VB رو پیدا کردم اما هر کاری کردم تا تبدیلش کنم به C# یه جاییش Error میداد. لطفا کمک کنید
اگه کدشو دارین برا C# بدین اگرم ندارین همینو به C# تبدیل کنید
مرسی

khokhan
سه شنبه 22 اسفند 1391, 21:58 عصر
چجوری میشه از صفحه ی فرم یه تصویر برداشت؟؟
من کد VB رو پیدا کردم اما هر کاری کردم تا تبدیلش کنم به C#‎ یه جاییش Error میداد. لطفا کمک کنید
اگه کدشو دارین برا C#‎ بدین اگرم ندارین همینو به C#‎ تبدیل کنید
مرسی

درود بر شما

بیا عزیز جان این هم پرینت اسکرین در #c

saeedgholami
سه شنبه 22 اسفند 1391, 22:02 عصر
سلام

این کد هم میتونی استفاده کنی




public void ScreenCapture(string initialDirectory) { using (BackgroundWorker worker = new BackgroundWorker()) { Thread.Sleep(0); this.Refresh(); worker.DoWork += delegate(object sender, DoWorkEventArgs e) { BackgroundWorker wkr = sender as BackgroundWorker; Rectangle bounds = new Rectangle(Location, Size); Thread.Sleep(300); Bitmap bitmap = new Bitmap(bounds.Width, bounds.Height); using (Graphics g = Graphics.FromImage(bitmap)) { g.CopyFromScreen(Location, Point.Empty, bounds.Size); } e.Result = bitmap; }; worker.RunWorkerCompleted += delegate(object sender, RunWorkerCompletedEventArgs e) { if (e.Error != null) { Exception err = e.Error; while (err.InnerException != null) { err = err.InnerException; } MessageBox.Show(err.Message, "Screen Capture", MessageBoxButtons.OK, MessageBoxIcon.Stop); } else if (e.Cancelled == true) { } else if (e.Result != null) { if (e.Result is Bitmap) { Bitmap bitmap = (Bitmap)e.Result; using (SaveFileDialog dlg = new SaveFileDialog()) { dlg.Title = "Image Capture: Image Name, File Format, and Destination"; dlg.FileName = "Screenshot"; dlg.InitialDirectory = initialDirectory; dlg.DefaultExt = "jpg"; dlg.AddExtension = true; dlg.Filter = "Jpeg Image (JPG)|*.jpg|PNG Image|*.png|GIF Image (GIF)|*.gif|Bitmap (BMP)|*.bmp" + "|EWM Image|*.emf|TIFF Image|*.tiff|Windows Metafile (WMF)|*.wmf| Exchangable image file|*.exif"; dlg.FilterIndex = 1; if (dlg.ShowDialog(this) == DialogResult.OK) { ImageFormat fmtStyle; switch (dlg.FilterIndex) { case 2: fmtStyle = ImageFormat.Jpeg; break; case 3: fmtStyle = ImageFormat.Gif; break; case 4: fmtStyle = ImageFormat.Bmp; break; case 5: fmtStyle = ImageFormat.Emf; break; case 6: fmtStyle = ImageFormat.Tiff; break; case 7: fmtStyle = ImageFormat.Wmf; break; case 8: fmtStyle = ImageFormat.Exif; break; default: fmtStyle = ImageFormat.Png; break; } bitmap.Save(dlg.FileName, fmtStyle); try { Process.Start(dlg.FileName); } catch (Exception) { try { // try IE Process.Start("iexplore.exe", dlg.FileName); } catch (Exception) { } } } } } } }; worker.RunWorkerAsync(); } }



موفق باشید

erfan_urchin
سه شنبه 22 اسفند 1391, 23:59 عصر
دوستان مثل اینکه منظورمو متوجه نشدین
شما اگه اون برنامه ای رو که تو پست اول ضمیمه کردم رو دانلود کنید کاملا متوجه میشید منظورم چیه
من میخوام به جز نوار Title Bar فرمم تمام چیزایی که تو فرمم هستشو ازش عکس گرفته بشه مثلا تمام تکست باکس ها و ...
اگه اون برنامه ای که تو پست اول گذاشتمو ببینید کاملا متوجه میشین چی میخوام
برنامه آقای khokhan نصفه فرمو چاپ میکرد و نصف صفحه کامپیوتر هم میافتاد تو عکس

khokhan
چهارشنبه 23 اسفند 1391, 00:27 صبح
درود بر شما

حالا اینو امتحان کن

erfan_urchin
چهارشنبه 23 اسفند 1391, 15:02 عصر
آقای khokhan ممنونم ازتون