1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu GDI+ - ThS. Nguyễn Hà Giang doc

40 351 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề GDI+
Tác giả Nguyễn Hà Giang
Trường học Khoa CNTT
Thể loại Tài liệu
Năm xuất bản 2008
Định dạng
Số trang 40
Dung lượng 879,1 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

n GDI: G raphical D evice I nterface n GDI+ là API Application programming interface cung cấp các lớp cho phép q Tạo những đồ họa 2D vector q Thao tác trên font, chuỗi ký tự... structur

Trang 1

GD I +

ThS Nguyễn Hà Giang Khoa CNTT

Trang 3

n GDI: G raphical D evice I nterface

n GDI+ là API (Application programming interface) cung cấp các lớp cho phép

q Tạo những đồ họa 2D vector

q Thao tác trên font, chuỗi ký tự

Trang 4

structure class

System.Drawing

Font FontFamily

Graphics

Icon Pen Region SolidBrush TextureBrush Image

Brush

HatchBrush LinearGradientBrush PathGradientBrush SolidBrush

Color Point Rectangle Size

Trang 5

V trên Form

public partial class Form1 : Form {

public Form1() {

InitializeComponent();

} protected override void OnPaint(PaintEventArgs e) {

Graphics g = e.Graphics;

g.DrawString("Hello GDI!", Font, Brushes.Red, 20, 20);

} }

Trang 6

n Lớp Graphics thể hiện

q “Abstract” drawing surface

q Tập hợp những “tool” cho phép thao tác trên

surface đó

n Để lấy đối tượng Graphics

q Sử dụng thuộc tính Graphics được truyền cho

OnPaint()

q Sử dụng phương thức CreateGraphics() của

control

q Lấy từ đối tượng dẫn xuất từ Bitmap

n Gọi hàm Invalidate() thay vì OnPaint()

Trang 8

protected override void OnPaint(PaintEventArgs

paintevent) {

Bitmap bmpimage=new Bitmap("hutech.jpg");

Graphics graf = Graphics.FromImage (bmpimage);

}

Lấy từ control

Lấy từ ảnh

Trang 9

q Tham số Font và Brush không có mặc định nên

phải truyền vào.

Trang 10

Panel,

GroupBox

Control

Trang 11

T a h th ng

n Graphics.PageUnit: xác định đơn vị của bề mặt

q GraphicsUnit Pixel (default)

Trang 12

n Sử dụng màu được định nghĩa trong Color

q Color.Blue, Color.Red, Color.White…

q SystemColors.Control, SystemColors.ControlText…

q 32 bit để thể hiện màu

q A (alpha) thể hiện mức độ trong suốt (255 opaque)

q RGB là Red , Green và Blue

q Tạo màu sử dụng hàm FromArgb()

n Color red = Color.FromArgb(255,0,0);

n Color blue = Color.FromArgb(128, 0, 255, 0);

Trang 13

n Cách tạo đối tượng Font: new Font(…)

q Có 13 phiên bản của constructor

q Font fa = new Font(" Times New Roman ", 8);

Font fb = new Font(" Arial ", 36, FontStyle.Bold);

Font fc = new Font(fb, FontStyle.Bold | FontStyle.Italic); Font fd = new Font(" Arial ", 1, GraphicsUnit.Inch);

q Nếu tên font không tìm thấy thì font mặc định được

sử dụng.

Size = 8 pixel

Size = 1 inch

Trang 14

Font

Trang 16

n Xác định width , style , fill style

n Không cho kế thừa, nhưng tạo thể hiện được

q Pen p1 = new Pen(Color.Green);

Pen p2 = new Pen(Color.blue, 10);

n Sử dụng lớp Pens có 141 pen được định nghĩa trước.

q Pen p3 = Pens.Violet;

Trang 17

Pen

Trang 18

n Dùng để tô vùng bên trong của hình

n Lớp Brush là lớp abstract nên không

Trang 21

Line, Rectangle, Ellipse

Trang 22

Line, Rectangle, Ellipse

Trang 23

n Lớp Image hiển thị các ảnh bitmap

q Các dạng ảnh: *.bmp, *.gif, *.jpg, *.ico…

n Phương thức static FromFile tạo ảnh từ file

q Image img = Image.FromFile(“hutech.bmp”);

q Image img2 = Image.FromFile(“hutech.gif”);

n Phương thức DrawImage xuất ảnh lên Graphics

q g.DrawImage(img, 10, 10);

q G.DrawImage(img2, 10, 10, 100,100); // scale trong

hình chữ nhật kích thước 100x100

Trang 24

Image

Trang 25

Ellipse được vẽ lên ảnh, rồi sau

đó với vẽ ảnh lên Form

Trang 27

Form c ó d ng NonRectangle

n Tạo form có hình dạng khác hình chữ nhật

q Sử dụng thuộc tính TransparencyKey của Form

q Sử dụng các hiệu ứng màu được tô

Trang 28

Form c ó d ng NonRectangle

q Tạo ứng dụng Windows Application

q Thiết kế Form có dạng như sau

FormBorderStyle = none

Trang 29

Form c ó d ng NonRectangle

q Thiết lập các thuộc tính cho Form như sau:

n TransparencyKey = Control: màu sẽ trong suốt khi

vẽ trên Form

n FormBorderStyle = None: Form không có đường biên

q Thiết lập màu nền cho 2 Label là Transparent

n Phần background của 2 label sẽ tiệp với nền bên dưới

Trang 30

Form c ó d ng NonRectangle

n Bước 3: Tạo trình xử lý cho sự kiện Paint

Trang 31

Form c ó d ng NonRectangle

Vùng của Form

Vùng ngoài Form

Trang 32

Form c ó d ng NonRectangle

n Bổ sung di chuyển form

q Thêm namespace:

n System.Runtime.InteropServices;

q Load các hàm từ DLL vào project

public const int WM_NCLBUTTONDOWN = 0xA1;

public const int HT_CAPTION = 0x2;

[ DllImportAttribute( "user32.dll")]

public static extern int SendMessage( IntPtr hWnd,

int Msg, int wParam, int lParam);

[ DllImportAttribute( "user32.dll")]

public static extern bool ReleaseCapture();

Trang 34

n MPEG (Motion Pictures Expert Group): video

n AVI (Audio-video Interleave): video

n WAV (Windows Wave-file Format): audio

n MIDI (Musical Instrument Digital Interface): audio

Trang 35

n Chọn Windows Media Player

q Khi đó control WMP sẽ hiện ở dưới cùng của

ToolBox

Trang 37

n Bước 3: Tạo MenuStrip để bổ sung chức năng Open File media

Trang 38

n Bước 4: viết trình xử lý cho Menuitem Open

Trang 39

Multimedia

Ngày đăng: 13/02/2014, 17:20

HÌNH ẢNH LIÊN QUAN

q Hiển thị các đường, hình và ảnh… - Tài liệu GDI+ - ThS. Nguyễn Hà Giang doc
q Hiển thị các đường, hình và ảnh… (Trang 3)
n Dùng để tô vùng bên trong của hình - Tài liệu GDI+ - ThS. Nguyễn Hà Giang doc
n Dùng để tô vùng bên trong của hình (Trang 18)
hình chữ nhật kích thước 100x100 - Tài liệu GDI+ - ThS. Nguyễn Hà Giang doc
hình ch ữ nhật kích thước 100x100 (Trang 23)
n Tạo form có hình dạng khác hình chữ nhật - Tài liệu GDI+ - ThS. Nguyễn Hà Giang doc
n Tạo form có hình dạng khác hình chữ nhật (Trang 27)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm