Từ 1 tới 8 trên tổng số 8 kết quả

Đề tài: Mã nguồn c# | Chương trình xem ảnh bitmap viết bằng C#

  1. #1
    Ngày gia nhập
    09 2006
    Nơi ở
    /usr/share/.hack@
    Bài viết
    1,433

    Smile Mã nguồn c# | Chương trình xem ảnh bitmap viết bằng C#

    Hình mẫu :



    Souce Code

    PHP Code:
    using System.Drawing;
    using System.Windows.Forms;
    using System.IO;

    using System;
    using System.Drawing;
    using System.Collections;
    using System.ComponentModel;
    using System.Windows.Forms;
    using System.Data;

    namespace 
    BitmapViewerHost
    {
        
    /// <summary>
        /// Summary description for BitmapViewerHost.
        /// </summary>
        
    public class BitmapViewerHost System.Windows.Forms.Form
        
    {
            private 
    BitmapViewer bitmapViewer1;
            
    /// <summary>
            /// Required designer variable.
            /// </summary>
            
    private System.ComponentModel.Container components null;

            public 
    BitmapViewerHost()
            {
                
    //
                // Required for Windows Form Designer support
                //
                
    InitializeComponent();

                
    //
                // TODO: Add any constructor code after InitializeComponent call
                //
            
    }

            
    /// <summary>
            /// Clean up any resources being used.
            /// </summary>
            
    protected override void Disposebool disposing )
            {
                if( 
    disposing )
                {
                    if (
    components != null
                    {
                        
    components.Dispose();
                    }
                }
                
    base.Disposedisposing );
            }

            
    #region Windows Form Designer generated code
            /// <summary>
            /// Required method for Designer support - do not modify
            /// the contents of this method with the code editor.
            /// </summary>
            
    private void InitializeComponent()
            {
                
    this.bitmapViewer1 = new BitmapViewer();
                
    this.SuspendLayout();
                
    // 
                // bitmapViewer1
                // 
                
    this.bitmapViewer1.Anchor = (((System.Windows.Forms.AnchorStyles.Top System.Windows.Forms.AnchorStyles.Bottom
                    | 
    System.Windows.Forms.AnchorStyles.Left
                    | 
    System.Windows.Forms.AnchorStyles.Right);
                
    this.bitmapViewer1.Dimension 80;
                
    this.bitmapViewer1.Directory null;
                
    this.bitmapViewer1.DockPadding.All 1;
                
    this.bitmapViewer1.Location = new System.Drawing.Point(1212);
                
    this.bitmapViewer1.Name "bitmapViewer1";
                
    this.bitmapViewer1.Size = new System.Drawing.Size(300244);
                
    this.bitmapViewer1.Spacing 10;
                
    this.bitmapViewer1.TabIndex 0;
                
    this.bitmapViewer1.PictureSelected += new BitmapViewer.PictureSelectedDelegate(this.bitmapViewer1_PictureSelected);
                
    // 
                // BitmapViewerHost
                // 
                
    this.AutoScaleBaseSize = new System.Drawing.Size(513);
                
    this.ClientSize = new System.Drawing.Size(320266);
                
    this.Controls.AddRange(new System.Windows.Forms.Control[] {
                                                                              
    this.bitmapViewer1});
                
    this.Name "BitmapViewerHost";
                
    this.Text "BitmapViewerHost";
                
    this.Load += new System.EventHandler(this.BitmapViewerHost_Load);
                
    this.ResumeLayout(false);

            }
            
    #endregion

            /// <summary>
            /// The main entry point for the application.
            /// </summary>
            
    [STAThread]
            static 
    void Main() 
            {
                
    Application.Run(new BitmapViewerHost());
            }

            private 
    void BitmapViewerHost_Load(object senderSystem.EventArgs e)
            {
                
    bitmapViewer1.Directory Application.StartupPath;
                
    bitmapViewer1.Directory "c:\\windows";
            }

            private 
    void bitmapViewer1_PictureSelected(object senderPictureSelectedEventArgs e)
            {
                    
    MessageBox.Show("You chose " e.FileName);
            }

        
        }
        
    /// <summary>
        /// Summary description for BitmapViewer.
        /// </summary>
        
    public class BitmapViewer System.Windows.Forms.UserControl
        
    {
            
    internal System.Windows.Forms.Panel pnlPictures;
            
    /// <summary> 
            /// Required designer variable.
            /// </summary>
            
    private System.ComponentModel.Container components null;

            public 
    BitmapViewer()
            {
                
    // This call is required by the Windows.Forms Form Designer.
                
    InitializeComponent();

                
    // TODO: Add any initialization after the InitForm call

            
    }

            
    /// <summary> 
            /// Clean up any resources being used.
            /// </summary>
            
    protected override void Disposebool disposing )
            {
                if( 
    disposing )
                {
                    if(
    components != null)
                    {
                        
    components.Dispose();
                    }
                }
                
    base.Disposedisposing );
            }

            
    #region Component Designer generated code
            /// <summary> 
            /// Required method for Designer support - do not modify 
            /// the contents of this method with the code editor.
            /// </summary>
            
    private void InitializeComponent()
            {
                
    this.pnlPictures = new System.Windows.Forms.Panel();
                
    this.SuspendLayout();
                
    // 
                // pnlPictures
                // 
                
    this.pnlPictures.AutoScroll true;
                
    this.pnlPictures.BorderStyle System.Windows.Forms.BorderStyle.Fixed3D;
                
    this.pnlPictures.Dock System.Windows.Forms.DockStyle.Fill;
                
    this.pnlPictures.Location = new System.Drawing.Point(11);
                
    this.pnlPictures.Name "pnlPictures";
                
    this.pnlPictures.Size = new System.Drawing.Size(530218);
                
    this.pnlPictures.TabIndex 1;
                
    // 
                // BitmapViewer
                // 
                
    this.Controls.AddRange(new System.Windows.Forms.Control[] {
                                                                              
    this.pnlPictures});
                
    this.DockPadding.All 1;
                
    this.Name "BitmapViewer";
                
    this.Size = new System.Drawing.Size(532220);
                
    this.ResumeLayout(false);

            }
            
    #endregion
        
            
    public delegate void PictureSelectedDelegate(object senderPictureSelectedEventArgs e);
            public 
    event PictureSelectedDelegate PictureSelected;

            
    // The directory that will be scanned for image.
            
    private string directory="";

            
    // Each picture box will be a square of dimension X dimension pixels.
            
    private int dimension;

            
    // The space between the images and the top, left, and right sides.
            
    private int border 5;

            
    // The space between each image.
            
    private int spacing;

            
    // The images that were found in the selected directory.
            
    private ArrayList images = new ArrayList();


            public 
    string Directory
            
    {
                
    get
                
    {
                    return 
    directory;
                }
                
    set
                
    {
                    
    directory value;
                    
    GetImages();
                    
    UpdateDisplay();
                }
            }

            public 
    int Dimension
            
    {
                
    get
                
    {
                    return 
    dimension;
                }
                
    set
                
    {
                    
    dimension value;
                    
    UpdateDisplay();
                }
            }

            public 
    int Spacing
            
    {
                
    get
                
    {
                    return 
    spacing;
                }
                
    set
                
    {
                    
    spacing value;
                    
    UpdateDisplay();
                }
            }



            private 
    void GetImages()
            {
                
    images.Clear();
                if (
    this.Directory != "" && this.directory != null)
                {
                    
    DirectoryInfo dir = new DirectoryInfo(directory);
                    foreach (
    FileInfo file in dir.GetFiles("*.bmp"))
                    {
                        
    images.Add(new NamedImage(Bitmap.FromFile(file.FullName), file.Name));
                    }
                }
            }

            private 
    void UpdateDisplay()
            {
                
    // Clear the current display.
                
    pnlPictures.Controls.Clear();

                
    // Row and Col will track the current position where pictures are
                // being inserted. They begin at the top-right corner.
                
    int row bordercol border;

                
    // Iterate through the Images collection, and create PictureBox controls.
                
    foreach (NamedImage image in images)
                {
                    
    PictureBox pic = new PictureBox();
                    
    pic.Image image.Image;
                    
    pic.Tag image.FileName;
                    
    pic.Size = new Size(dimensiondimension);
                    
    pic.Location = new Point(colrow);
                    
    pic.BorderStyle BorderStyle.FixedSingle;

                    
    // StrechImage mode gives us the "thumbnail" ability.
                    
    pic.SizeMode PictureBoxSizeMode.StretchImage;

                    
    // Display the picture.
                    
    pnlPictures.Controls.Add(pic);

                    
    // Move to the next column.
                    
    col += dimension spacing;

                    
    // Handle the event.
                    
    pic.Click += new EventHandler(this.pic_Click);

                    
    // Move to next line if no more pictures will fit.
                    
    if ((col dimension spacing border) > this.Width)
                    {
                        
    col border;
                        
    row += dimension spacing;
                    }
                }

            }


            public 
    void RefreshImages()
            {
                
    GetImages();
                
    UpdateDisplay();
            }


            protected 
    override void OnSizeChanged(System.EventArgs e)
            {
                
    UpdateDisplay();
                
    base.OnSizeChanged(e);
            }


            private 
    PictureBox picSelected;

            private 
    void pic_Click(object senderSystem.EventArgs e)
            {
                
    // Clear the border style from the last selected picture box.
                
    if (picSelected != null)
                {
                    
    picSelected.BorderStyle BorderStyle.FixedSingle;
                }

                
    // Get the new selection.
                
    picSelected = (PictureBox)sender;
                
    picSelected.BorderStyle BorderStyle.Fixed3D;

                
    // Fire the selection event.
                
    PictureSelectedEventArgs args = new 
                    
    PictureSelectedEventArgs((string)picSelected.TagpicSelected.Image);
                if (
    PictureSelected != null)
                {
                    
    PictureSelected(thisargs);
                }

            }



            private class 
    NamedImage
            
    {
                public 
    Image Image;
                public 
    string FileName;

                public 
    NamedImage(Image imagestring fileName)
                {
                    
    this.Image image;
                    
    this.FileName fileName;
                }
            }

        
        }
        public class 
    PictureSelectedEventArgs EventArgs
        
    {
            public 
    string FileName;
            public 
    Image Image;

            public 
    PictureSelectedEventArgs(String fileNameImage image)
            {
                
    this.FileName fileName;
                
    this.Image image;
            }

        }


        

    None!

  2. #2
    Ngày gia nhập
    08 2006
    Nơi ở
    Hải Phòng
    Bài viết
    218

    Anh có thể tóm tắt nguyên lý của nó không?

  3. #3
    Ngày gia nhập
    09 2008
    Bài viết
    18

    bác code lười comment quá. làm người đọc khó hiểu quá.
    thực ra bài này cũng không khó lắm. trong sách giáo trình aptech có sample chi tiết và còn có thêm cả zoom cho nó nữa.
    --------------------------------------

  4. #4
    Ngày gia nhập
    04 2009
    Bài viết
    8

    cần cải tiến một chút nữa để có thể hiện mọi định dạng hình(ví dụ jpg, gif vv...) và cho phép người dùng chọn thư mục để liệt kê các hình đó nữa. còn phóng to thu nhỏ thì có gì phức tạp đâu

  5. #5
    Ngày gia nhập
    07 2009
    Bài viết
    12

    hiiiii cảm ơn nhé! mình thấy rất hay nhưng chưa làm thử không biết có giống trang template.com không nhỉ

  6. #6
    Ngày gia nhập
    12 2008
    Bài viết
    53

    Mặc định Mã nguồn c# | Chương trình xem ảnh bitmap viết bằng C#

    Nhức đầu thiệt...
    Mình mới học C# dc 2 buổi...Dòm cái này chả hiểu khỉ gì hết,chắc phải " cày đêm cày ngày,sau này mới có tiền sài qua" thôi...

  7. #7
    Ngày gia nhập
    03 2010
    Bài viết
    44

    uhm. Tôi cũng không hiểu nguyên lý của chương trình là thế nào, bác nào có thể xét lại vụ này không? Thank nhiều

  8. #8
    Ngày gia nhập
    04 2009
    Nơi ở
    Gầm cầu
    Bài viết
    2,230

    Trích dẫn Nguyên bản được gửi bởi phamay Xem bài viết
    uhm. Tôi cũng không hiểu nguyên lý của chương trình là thế nào, bác nào có thể xét lại vụ này không? Thank nhiều
    ct load tất cả file *.bmp trong C:\\windows\\ ra thôi !

Các đề tài tương tự

  1. Chương Trình Tử Vi viết bằng C# [Đầy đủ mã nguồn]
    Gửi bởi phanquoctoan trong diễn đàn Dự án & Source code C#, ASP.NET
    Trả lời: 19
    Bài viết cuối: 19-06-2017, 03:04 PM
  2. Mã nguồn chương trình tính toán biểu thức viết bằng C#
    Gửi bởi vanhuongtnhp trong diễn đàn Dự án & Source code C#, ASP.NET
    Trả lời: 0
    Bài viết cuối: 11-11-2011, 11:11 PM
  3. Mã nguồn C | Lập trình 3D viết bằng C
    Gửi bởi phanvankhai trong diễn đàn Thủ thuật, Tutorials và Mã nguồn C/C++/C++0x
    Trả lời: 5
    Bài viết cuối: 25-03-2010, 09:07 PM
  4. Cho mình hỏi có thể dịch ngược mã nguồn viết = C++ và C# không ?
    Gửi bởi trinitrotoluen trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 20-10-2009, 12:22 AM
  5. Mã nguồn C | Trò chơi đi tìm kho báu viết bằng C
    Gửi bởi NVL trong diễn đàn Thủ thuật, Tutorials và Mã nguồn C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 28-09-2007, 07:13 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn