2010-02-04 30 views
5

Tôi đang tìm một số lớp Vẽ (Gói) sẽ cho phép tôi dễ dàng vẽ các hình ảnh như sau.Vẽ bằng .NET

alt text http://www.freeimagehosting.net/uploads/e96ab74410.jpg

Tôi chưa có kinh nghiệm vẽ nên tôi rất vui khi nghe đề xuất.

My pic link

+0

đánh giá bằng từ chối của bạn GDI +, ý bạn là thư viện bản vẽ CAD? – Jimmy

+0

yes Âm thanh thú vị bạn có thể gợi ý cho tôi điều gì đó –

+0

Như đã nghĩ ở đây, tôi thực sự quan tâm đến điều gì đó tương tác –

Trả lời

5

Có một cái nhìn tại các lớp GDI + trong System.Drawing namespace.

Chỉnh sửa: Tôi thực sự không chắc chắn ý bạn là gì khi bạn tiếp tục yêu cầu thêm thư viện trừu tượng. Các lớp này không đủ trừu tượng như thế nào? Graphics.DrawLine(), Graphics.FillEllipse() v.v.

Trừ khi bạn đang tìm cách làm điều gì đó rất cụ thể, chẳng hạn như biểu đồ chẳng hạn, không có sự trừu tượng nào khác về điều này. Bạn muốn vẽ các đường thẳng, đa giác, hình chữ nhật, v.v., phải không?

Bạn có thể giải thích khái niệm trừu tượng nào bạn muốn không? Trong mã giả?

+0

GDI + quá khớp với đòn bẩy thấp khi tôi hiểu nó. Tôi đang tìm kiếm một cái gì đó phù hợp hơn trừu tượng. –

+0

Không phải * mức độ thấp. Bạn đã xem các lớp học trong liên kết tôi đã gửi cho bạn chưa? Đặc biệt là lớp 'Graphics', chứa các phương thức như' DrawEllipse() ',' DrawPolygon() ',' DrawLine() ',' FillRectangle() 'vv Bạn muốn bao nhiêu cấp độ cao hơn? 'DrawNicePicture()'? –

0

GDI + chắc chắn là một cách hay. Tùy thuộc vào các ràng buộc ứng dụng của bạn, bạn cũng có thể xem WPF và Silverlight (cho Windows/Web tương ứng) vì bạn có thể thực hiện một số bản vẽ và hoạt ảnh phức tạp trong XAML một mình.

0

GDI + chắc chắn là cách để đi, tùy chọn khác của bạn là Direct3D hoặc OpenGL. Vì bạn đã từ chối GDI +, hãy bỏ qua các ý tưởng Direct3D và OpenGL.

GDI + khá trừu tượng và rất dễ cài đặt và khi bạn quen với cách bạn vẽ bằng lib, bạn sẽ thấy nó khá thẳng về phía trước.

+0

Tôi đang tìm một số thư viện trừu tượng, tôi không muốn bắt đầu vẽ với brasher như nó được thực hiện trong GDI +. –

0

Đi tới Paint.NET 3.5 và tải xuống mã nguồn, chơi xung quanh với nó và bạn có thể sẽ nắm bắt tốt những gì bạn muốn.

+0

Mã nguồn cho Paint.NET 3.5 không được ** cung cấp, nhưng mã nguồn cho các phiên bản cũ hơn của Paint.NET có thể tìm thấy ở nơi khác. Xem ví dụ http://stackoverflow.com/questions/9603/what-is-some-great-source-code-to-read/9663#9663 –

0

Nếu bạn không cần tương tác người dùng để vẽ và bạn đang tạo hình ảnh trực tiếp thông qua mã nhận thông tin hình học từ một nguồn khác với bạn có thể xem xét tạo tệp svg và hiển thị chúng.

Tôi sử dụng phương pháp này cho dự án hiện tại nơi tôi muốn hiển thị cấu trúc liên kết của một tòa nhà. Tôi nhận được hình học từ Autodesk Revit thông qua API và sau đó tôi tạo ra bản đồ tô pô trong svg. Vì svg là xml nên dễ thao tác. Vì nó là vector dựa trên không có giới hạn cho những gì bạn có thể đạt được. BTW Inkskape là một trình soạn thảo grafik vector mã nguồn mở có thể giúp bạn tìm hiểu cách thể hiện suy nghĩ phức tạp hơn trong svg.

Chỉ hai xu của tôi :-)