1. or0

    or0 V • I • P

    الأنتساب:
    ‏22 فبراير 2014
    المشاركات:
    392
    الإعجابات المتلقاة:
    14
    نقاط الجائزة:
    18
    السلام عليكم ورحمه الله وبركاته ...

    سورس كود لأداة SnippingTool في VB.NET :

    اداة SnippingTool : هي اداة تستخدم لقطع الصور من الشاشة وحفظها .

    كود السورس في VB.NET :

    اولا قم بأنشاء فورم , وسميه بأسم SnippingTool , وضيف هذا الكود عليه :
    كود:
    using System;
    using System.Drawing;
    using System.Drawing.Drawing2D;
    using System.Windows.Forms;
    
    namespace WindowsFormsApplication1 {
        public partial class SnippingTool : Form {
            public static Image Snip() {
                var rc = Screen.PrimaryScreen.Bounds;
                using (Bitmap bmp = new Bitmap(rc.Width, rc.Height, System.Drawing.Imaging.PixelFormat.Format32bppPArgb)) {
                    using (Graphics gr = Graphics.FromImage(bmp))
                        gr.CopyFromScreen(0, 0, 0, 0, bmp.Size);
                    using (var snipper = new SnippingTool(bmp)) {
                        if (snipper.ShowDialog() == DialogResult.OK) {
                            return snipper.Image;
                        }
                    }
                    return null;
                }
            }
    
            public SnippingTool(Image screenShot) {
                InitializeComponent();
                this.BackgroundImage = screenShot;
                this.ShowInTaskbar = false;
                this.FormBorderStyle = FormBorderStyle.None;
                this.WindowState = FormWindowState.Maximized;
                this.DoubleBuffered = true;
            }
            public Image Image { get; set; }
    
            private Rectangle rcSelect = new Rectangle();
            private Point pntStart;
    
            protected override void OnMouseDown(MouseEventArgs e) {
                // Start the snip on mouse down
                if (e.Button != MouseButtons.Left) return;
                pntStart = e.Location;
                rcSelect = new Rectangle(e.Location, new Size(0, 0));
                this.Invalidate();
            }
            protected override void OnMouseMove(MouseEventArgs e) {
                // Modify the selection on mouse move
                if (e.Button != MouseButtons.Left) return;
                int x1 = Math.Min(e.X, pntStart.X);
                int y1 = Math.Min(e.Y, pntStart.Y);
                int x2 = Math.Max(e.X, pntStart.X);
                int y2 = Math.Max(e.Y, pntStart.Y);
                rcSelect = new Rectangle(x1, y1, x2 - x1, y2 - y1);
                this.Invalidate();
            }
            protected override void OnMouseUp(MouseEventArgs e) {
                // Complete the snip on mouse-up
                if (rcSelect.Width <= 0 || rcSelect.Height <= 0) return;
                Image = new Bitmap(rcSelect.Width, rcSelect.Height);
                using (Graphics gr = Graphics.FromImage(Image)) {
                    gr.DrawImage(this.BackgroundImage, new Rectangle(0, 0, Image.Width, Image.Height),
                        rcSelect, GraphicsUnit.Pixel);
                }
                DialogResult = DialogResult.OK;
            }
            protected override void OnPaint(PaintEventArgs e) {
                // Draw the current selection
                using (Brush br = new SolidBrush(Color.FromArgb(120, Color.White))) {
                    int x1 = rcSelect.X; int x2 = rcSelect.X + rcSelect.Width;
                    int y1 = rcSelect.Y; int y2 = rcSelect.Y + rcSelect.Height;
                    e.Graphics.FillRectangle(br, new Rectangle(0, 0, x1, this.Height));
                    e.Graphics.FillRectangle(br, new Rectangle(x2, 0, this.Width - x2, this.Height));
                    e.Graphics.FillRectangle(br, new Rectangle(x1, 0, x2 - x1, y1));
                    e.Graphics.FillRectangle(br, new Rectangle(x1, y2, x2 - x1, this.Height - y2));
                }
                using (Pen pen = new Pen(Color.Red, 3)) {
                    e.Graphics.DrawRectangle(pen, rcSelect);
                }
            }
            protected override bool ProcessCmdKey(ref Message msg, Keys keyData) {
                // Allow canceling the snip with the Escape key
                if (keyData == Keys.Escape) this.DialogResult = DialogResult.Cancel;
                return base.ProcessCmdKey(ref msg, keyData);
            }
        }
    }
    كود الاستخدام :
    كود:
    var bmp = SnippingTool.Snip();
    if (bmp != null) {
        // Do something with the bitmap
        //...
    }

    [​IMG]
     
  2. NETJOURNAL

    NETJOURNAL مشرف

    الأنتساب:
    ‏18 مايو 2006
    المشاركات:
    676
    الإعجابات المتلقاة:
    1,543
    نقاط الجائزة:
    93
    الجنس:
    ذكر
    الوظيفة:
    ExploitCoding - ShellCoding - Defacer
    الإقامة:
    etc/shadow/~root
    رد: سورس كود لبرنامج SnippingTool في VB.NET .

    مشكور وردة ... جزاك الله خير . :{2}:
     
  3. ●¦ Snharib ¦●

    ●¦ Snharib ¦● V • I • P

    الأنتساب:
    ‏8 يناير 2014
    المشاركات:
    1,128
    الإعجابات المتلقاة:
    1,786
    نقاط الجائزة:
    113
    الإقامة:
    || Iraq ||
    رد: سورس كود لبرنامج SnippingTool في VB.NET .

    عاشت ايدك ..


    ينقل للقسم المناسب
     
  4. or0

    or0 V • I • P

    الأنتساب:
    ‏22 فبراير 2014
    المشاركات:
    392
    الإعجابات المتلقاة:
    14
    نقاط الجائزة:
    18
    رد: سورس كود لبرنامج SnippingTool في VB.NET .

    العفو ... #ٌnًo.


    تسلم عالنقل .. #ٌnًo.
     
  5. Dunhill

    Dunhill Active Active DeveloPer

    الأنتساب:
    ‏26 ديسمبر 2011
    المشاركات:
    48
    الإعجابات المتلقاة:
    0
    نقاط الجائزة:
    6
    الإقامة:
    البحرين
    رد: سورس كود لبرنامج SnippingTool في VB.NET .

    الله يسلم ايديك ويعطيك العافية
     
  6. Sofien Ouenn's

    Sofien Ouenn's <span style="font-weight: bold; text-shadow: #BBBB V • I • P

    الأنتساب:
    ‏25 مارس 2014
    المشاركات:
    52
    الإعجابات المتلقاة:
    2
    نقاط الجائزة:
    8
    رد: سورس كود لبرنامج SnippingTool في VB.NET .

    شكرا لك أخي ^:"^:"^:"
     

مشاركة هذه الصفحة