2013-04-08 41 views
10

Đây là dự án dựa trên đồ họa đầu tiên của tôi và bắt đầu bằng cách vẽ hình chữ nhật lên một bitmap với độ trong suốt và văn bản.Làm thế nào để vẽ một hình chữ nhật lên một hình ảnh với độ trong suốt và văn bản

Tôi không chắc chắn nên bắt đầu từ đâu. Tôi đã thực hiện một nghiên cứu nhỏ nhưng dường như không thể tìm thấy một bài viết cho phép tôi thêm hình chữ nhật bán trong suốt vào một hình ảnh.

Điều tôi sẽ có là luồng hình ảnh mà tôi cần để có thể thao tác.

Ai đó có thể vui lòng chỉ cho tôi đúng hướng cho điều này không?

Trang web có nguồn sẽ tuyệt vời như trước đây tôi chưa bao giờ thực hiện bất kỳ tác phẩm GDI nào.

Trả lời

25

Bạn có thể thử một cái gì đó như thế này:

// Load the image (probably from your stream) 
Image image = Image.FromFile(imagePath); 

using (Graphics g = Graphics.FromImage(image)) 
{ 
    // Modify the image using g here... 
    // Create a brush with an alpha value and use the g.FillRectangle function 
} 

image.Save(imageNewPath); 

Chỉnh sửa: mã để tạo ra một sự minh bạch bán màu xám bàn chải

Color customColor = Color.FromArgb(50, Color.Gray); 
SolidBrush shadowBrush = new SolidBrush(customColor); 
g.FillRectangles(shadowBrush, new RectangleF[]{rectFToFill}); 
+0

+1 Đẹp và súc tích –

+0

Tuyệt vời. Cảm ơn bạn. – griegs

4

Để bắt đầu bạn cần phải tạo ra một bối cảnh đồ họa từ các hình ảnh đó bạn muốn sửa đổi. See here.

// Create image. 
Image imageFile = Image.FromFile("SampImag.bmp"); 

// Create graphics object for alteration. 
Graphics newGraphics = Graphics.FromImage(imageFile); 

Khi bạn có đối tượng Đồ họa, bạn có thể sử dụng nhiều phương pháp để vẽ lên hình ảnh. Trong ví dụ của bạn, bạn sẽ sử dụng phương thức DrawRectangle với màu ARGB để tạo hình chữ nhật nửa trong suốt trên hình ảnh của bạn.

Sau đó, bạn có thể hiển thị hình ảnh đó thành điều khiển màn hình hoặc lưu nó vào đĩa.

+0

+1, đúng vậy, tôi nghĩ tôi hiểu điều đó. Cảm ơn. – griegs

Các vấn đề liên quan