Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.



 
Trang ChínhTrang Chính  Latest imagesLatest images  Tìm kiếmTìm kiếm  Đăng kýĐăng ký  Đăng NhậpĐăng Nhập  

Share | 
 

 Double Bufferv- Chống giựt hình, nháy hình trong form C# - ĐỒ HỌA

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
Tesulakata
Quân hàm:Trung sĩ 1
Quân hàm:Trung sĩ 1
Tesulakata

Tổng số bài gửi : 141
Experience : 240
Đã được cảm ơn : 1
Join date : 18/05/2011
Age : 48
Đến từ : Heaven

Double Bufferv- Chống giựt hình, nháy hình trong form C# - ĐỒ HỌA Empty
Bài gửiTiêu đề: Double Bufferv- Chống giựt hình, nháy hình trong form C# - ĐỒ HỌA   Double Bufferv- Chống giựt hình, nháy hình trong form C# - ĐỒ HỌA Icon_minitimeWed May 18, 2011 10:16 pm

[color:b87c=#090]Double Bufferv- Chống giựt hình, nháy hình trong form C#

Nguồn:
http://k14ktqs.cntt.in/

Link demo trong file đính kèm
http://k14ktqs.cntt.in/

Các bài liên quan tại

http://k14ktqs.cntt.in/



CÁI NÀY LÀ TRONG C# NHƯNG TRONG XỬ LÝ ẢNH XÀI TỚI NÊN MÌNH UP VÔ ĐÂY

Khi load ảnh liên tục trên Form sẽ có hiện tượng giật hình, cách khắc phục

Cách 1: cách đơn giản để chống giật màn hình là chọn thuộc tính Bouble buffer của Form là true; (đơn giản, có hiệu quả với những trường hợp ít load hình liên tục còn về lâu về dài thì chưa biết)
Cách 2: Khá hiệu quả, thường được các coder sử dụng là dùng 1 BITMAP làm bộ đệm, vẽ tất cả lên BITMAP rồi vẽ BITMAP đó lên form, tránh vẽ liên tục lên form

Trong sự kiện Paint dùng code sau :)

[PHP] private void DoubleBuffering_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
Graphics g;
Bitmap drawing = null;
if (chkDoubleBuffer.Checked)
{
drawing = new Bitmap(this.Width, this.Height, e.Graphics);
g = Graphics.FromImage(drawing);
}
else
{
g = e.Graphics;
}
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; // Draw a rectangle.
Pen drawingPen = new Pen(Color.Black, 10);
g.FillRectangle(Brushes.PaleTurquoise , new Rectangle(new Point(0, 0),this.ClientSize));
g.DrawEllipse(drawingPen, 50, 50, 50 + extraSize, 50 + extraSize);
if (chkDoubleBuffer.Checked)
{
e.Graphics.DrawImageUnscaled(drawing, 0, 0);
g.Dispose();
}
}
[/PHP]

[DOWNLOAD][url="http://www.mediafire.com/?mymncmnyngu"]source code[/URL][/DOWNLOAD]

sưu tầm[/QUOTE]

Về Đầu Trang Go down
http://k14ktqs.cntt.in/
 

Double Bufferv- Chống giựt hình, nháy hình trong form C# - ĐỒ HỌA

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 

 Similar topics

-
» Còn cái nhảy nào hở hơn
» Con gái lớp mình lập đội nhẩy đê...
» Sau đây là 1 vài hình ảnh hôm Trung Thu ;;)
» tình hình đội bóng k14
» CLASS SỐ LỚN TRONG C++---- đề 01_ c++
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
 :: ____________________Diễn đàn học tập(Cấm Spam)____________________ :: Diễn đàn các môn học-
Chuyển đến