Làm thế nào để chuyển đổi hình ảnh sang đồ họa?Chuyển đổi hình ảnh sang đồ họa trong C#
Trả lời
Bạn cần một hình ảnh để vẽ đồ họa của bạn, vì vậy bạn có thể đã có những hình ảnh:
Graphics g = Graphics.FromImage(image);
Nếu bạn đang vẽ trực tiếp trên đồ họa của một Control, bạn có thể tạo một Bitmap mới với cùng kích thước như điều khiển và sau đó gọi Control.DrawToBitmap(). Tuy nhiên, cách tốt hơn để đi thường là bắt đầu với một Bitmap, vẽ đồ họa của nó (theo đề nghị của Darin), và sau đó vẽ bitmap vào Control.
Bạn không thể chuyển đổi đối tượng Graphics
thành hình ảnh vì đối tượng Graphics
không chứa bất kỳ dữ liệu hình ảnh nào.
Đối tượng Graphics
chỉ là công cụ được sử dụng để vẽ trên canvas. Canvas đó thường là đối tượng Bitmap
hoặc màn hình.
Nếu đối tượng Graphics
được sử dụng để vẽ trên Bitmap
, thì bạn đã có hình ảnh. Nếu đối tượng Graphics
được sử dụng để vẽ trên màn hình, bạn sẽ phải tạo ảnh chụp màn hình để có được hình ảnh của canvas.
Nếu đối tượng Graphics
được tạo từ điều khiển cửa sổ, bạn có thể sử dụng phương pháp DrawToBitmap
của điều khiển để hiển thị điều khiển trên hình ảnh thay vì trên màn hình.
Cảm ơn câu trả lời của –
và lời giải thích của bạn để –
@Sorush: Tôi sửa nó rồi. (Để tham khảo trong tương lai, nếu bạn dự định bình luận để Hesam được thông báo, bạn nên bình luận về câu hỏi chứ không phải trả lời.) – Guffa
Như Darin nói, có thể bạn đã có hình ảnh. Nếu không, bạn có thể tạo một hình mới và vẽ một hình mới
Image bmp = new Bitmap(width, height);
using (Graphics g = Graphics.FromImage(bmp)) {
// draw in bmp using g
}
bmp.Save(filename);
Save lưu hình ảnh vào tệp trên ổ cứng của bạn.
cảm ơn câu trả lời của bạn –
Phương pháp tốt nhất để biến đồ họa vào một bitmap là để thoát khỏi của 'sử dụng' thứ:
Bitmap b1 = new Bitmap(Screen.PrimaryScreen.Bounds.Width,Screen.PrimaryScreen.Bounds.Height);
Graphics g = Graphics.FromImage(b1);
g.CopyFromScreen(0, 0, Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, new Size(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height));
b1.Save("screen.bmp");
tôi phát hiện này trong khi tìm cách để biến đồ họa vào một bitmap, và nó hoạt động như một quyến rũ.
Tôi có một số ví dụ về cách sử dụng này:
//1. Take a screenshot
Bitmap b1 = new Bitmap(Screen.PrimaryScreen.Bounds.Width,Screen.PrimaryScreen.Bounds.Height);
Graphics g = Graphics.FromImage(b1);
g.CopyFromScreen(0, 0, Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, new Size(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height));
b1.Save("screen.bmp");
//2. Create pixels (stars) at a custom resolution, changing constantly like stars
private void timer1_Tick(object sender, EventArgs e)
{
/*
* Steps to use this code:
* 1. Create new form
* 2. Set form properties to match the settings below:
* AutoSize = true
* AutoSizeMode = GrowAndShrink
* MaximizeBox = false
* MinimizeBox = false
* ShowIcon = false;
*
* 3. Create picture box with these properties:
* Dock = Fill
*
*/
//<Definitions>
Size imageSize = new Size(400, 400);
int minimumStars = 600;
int maximumStars = 800;
//</Definitions>
Random r = new Random();
Bitmap b1 = new Bitmap(imageSize.Width, imageSize.Height);
Graphics g = Graphics.FromImage(b1);
g.Clear(Color.Black);
for (int i = 0; i <r.Next(minimumStars, maximumStars); i++)
{
int x = r.Next(1, imageSize.Width);
int y = r.Next(1, imageSize.Height);
b1.SetPixel(x, y, Color.WhiteSmoke);
}
pictureBox1.Image = b1;
}
Với mã này, bạn có thể sử dụng tất cả các lệnh cho các lớp đồ họa, và sao chép chúng vào một bitmap, do đó cho phép bạn lưu bất cứ điều gì thiết kế với lớp đồ họa.
Bạn có thể sử dụng điều này cho lợi thế của mình.
- 1. Chuyển đổi base64 sang Hình ảnh trong C#
- 2. Hình ảnh lõi và đồ họa lõi
- 3. Lập trình (C#) chuyển đổi Excel sang hình ảnh
- 4. Chuyển đổi đồ họa bằng ExportString
- 5. Chuyển đổi hình ảnh sang bitmap biến nền đen
- 6. va_copy - chuyển sang hình ảnh C++?
- 7. hình ảnh và đồ họa python 3D
- 8. Chuyển đổi tệp PDF sang hình ảnh
- 9. Chuyển đổi tệp .html sang hình ảnh
- 10. Java - Chuyển đổi hình ảnh sang Base64
- 11. Chuyển đổi hình ảnh .jpg sang .png
- 12. Đồ họa trong ASP.Net (C#)
- 13. Tạo biểu đồ hình tròn đồ họa trong C#
- 14. Đồ họa vector trong Android
- 15. chuyển đổi html sang hình ảnh trong byte mảng java
- 16. Chuyển đổi hình ảnh sang một mảng RGB trong Javascript
- 17. Chuyển đổi PDF sang hình ảnh thu nhỏ trong Java
- 18. HTML2Canvas chuyển đổi nội dung bị tràn sang hình ảnh
- 19. lỗi ImageMagick: Chuyển đổi PDF sang hình ảnh
- 20. Đối tượng đồ họa vào tệp hình ảnh
- 21. đồ họa trong C# (.NET)
- 22. Chuyển đổi bản đồ google sang pdf trong php
- 23. Chuyển đổi một byte arry sang hình ảnh OpenCV trong C++
- 24. Hiệu ứng hình ảnh với đồ họa lõi
- 25. Làm thế nào để chuyển đổi hình ảnh sang html?
- 26. Chuyển đổi PDF sang hình ảnh tự động
- 27. Chuyển đổi PDF sang hàng loạt hình ảnh bằng Python
- 28. Hình ảnh tỷ lệ .NET khi vẽ đến đồ họa
- 29. Tôi có thể chuyển đổi hình ảnh sang CSS3 không?
- 30. pdfbox chuyển đổi pdf sang byte hình ảnh []
Cảm ơn bạn trả lời –
nhờ cho câu trả lời của bạn –
Đây là trường hợp ngược lại với câu hỏi: Câu hỏi là: Graphics sang hình ảnh, không ảnh để đồ họa như bạn đã trả lời –