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

Đề tài: Hiển thị 1 phần của bức ảnh trong lập trình C#

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

    Mặc định Hiển thị 1 phần của bức ảnh trong lập trình C#

    nhân tiện có bạn hỏi về vấn đề làm thế nào để hiển thị 1 phần của bức ảnh lên 1 picturebox mình làm cái tuts con con này vậy



    xây dựng 1 hàm vẽ 1 phần bức ảnh
    PHP Code:
    private void Ve(Graphics g,Image image,int x,int y)
            {
                
    g.Clear(Color.White);
                
    g.DrawImage(image, new Point[] { new Point(0,0), new Point(60,0), new Point(0,60) }, new Rectangle(60*x,60*y6060), GraphicsUnit.Pixel);
                
            } 
    -trong đó image : là ảnh cần hiển thị 1 phần của nó
    - new Point[] { new Point(0,0), new Point(60,0), new Point(0,60) } ở đây là 1 mảng Point với 3 point là 3 tọa độ tại 3 góc của hình bình hành, ở đây cần cắt thành hình vuông nên hình bình hành đó là hình vuông. tức nó sẽ vẽ 1 hình vuông có 3 đỉnh là (0,0),(0,60),(60,0)..đỉnh còn lại nó tự hiểu là (60,60)
    -Rectangle(60*x,60*y, 60, 60) : 60 là kích thước khung ảnh cần cắt 60x60
    -x,y là vị trí của khung cắt , minh họa = các chỉ số ở trên ảnh trên

    code Full như sau
    PHP Code:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;

    namespace 
    hien_thi_1_phan_image
    {
        public 
    partial class Form1 Form
        
    {
            public 
    Form1()
            {
                
    InitializeComponent();
            }
            
    Image image = global::hien_thi_1_phan_image.Properties.Resources.man2;
            private 
    void button1_Click(object senderEventArgs e)
            {
                if (
    this.comboBox1.Text != "" && this.comboBox2.Text != "")
                {
                    
    byte x byte.Parse(this.comboBox1.Text);
                    
    byte y byte.Parse(this.comboBox2.Text);
                    
    Graphics g this.pictureBox2.CreateGraphics();
                    
    Ve(gthis.imagexy);
                }
                else 
    MessageBox.Show("chon X,Y truoc");
            }
            private 
    void Ve(Graphics g,Image image,int x,int y)
            {
                
    g.Clear(Color.White);
                
    g.DrawImage(image, new Point[] { new Point(0,0), new Point(60,0), new Point(0,60) }, new Rectangle(60*x,60*y6060), GraphicsUnit.Pixel);
                
            }

            private 
    void Form1_Load(object senderEventArgs e)
            {

            }
        }

    chú ý : image ở trên tôi lấy từ resource,có thể lấy từ file cũng đc
    download project mẫu ở đây
    pass : zstar
    chúc các bạn vui vẻ
    Attached Files Attached Files

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

    cái này sẽ hữu ích với những bạn làm game /GDI . khi cần tách nhân vật từ 1 sprite image

  3. #3
    Ngày gia nhập
    03 2009
    Nơi ở
    Heaven
    Bài viết
    277

    He he. hồi trước hỏi đại ca vấn đề này nhưng không thấy trả lời. Ai ngờ có tút hướng dẫn rùi. Thanks đại ca heng.

    Giá mà biết trước thì đã phải.. mò cho khổ :((
    Tôi là con chim đến từ núi lạ
    Ngứa cổ hót chơi

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

    Có cách nào, khi mình up lên 1 tấm hình, code sẽ tự động cắt hình theo hình vuông, canh giữa của tấm hình không bạn.
    Diễn đàn CNTT Việt Nam, SEO Việt Nam ITSEOVN.COM, chia sẻ SEO là gì? và SEO cho người mới bắt đầu rất hiệu quả, các bạn ủng hộ diễn đàn với nhé, cảm ơn.

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

  1. Lập trình C tìm xem trong mảng số nguyên i_Mang[] có bao nhiêu phần tử có giá trị âm & phần tử có giá trị âm trong mảngn
    Gửi bởi fawker trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 29-05-2013, 03:28 PM
  2. Bài tập C xóa phần tử trùng nhau trong mảng 1 chiều để lại 1 phần tử
    Gửi bởi ronoa trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 06-01-2012, 10:46 PM
  3. Thủ tục loại bỏ các phần tử trùng nhau, giữ lại duy nhất 1 phần tử trong DSLK
    Gửi bởi mrtyoffline trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 02-03-2011, 10:27 PM
  4. Thuật toán trên C | Xóa phần tử trong dãy phần tử tăng dần?
    Gửi bởi quangphuit 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: 09-03-2010, 01:57 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