คำถามติดแท็ก gdi+

30
เกิดข้อผิดพลาดทั่วไปใน GDI +, JPEG Image to MemoryStream
ดูเหมือนว่าจะเป็นข้อผิดพลาดที่น่าอับอายทั่วทั้งเว็บ มากจนฉันไม่สามารถหาคำตอบสำหรับปัญหาของฉันได้เนื่องจากสถานการณ์ของฉันไม่เหมาะสม มีข้อผิดพลาดเกิดขึ้นเมื่อฉันบันทึกรูปภาพไปยังสตรีม ข้อผิดพลาดนี้ทำงานได้อย่างสมบูรณ์แบบด้วย png แต่ให้ข้อผิดพลาดด้านบนกับ jpg และ gif ซึ่งค่อนข้างสับสน ปัญหาที่คล้ายกันส่วนใหญ่เกี่ยวข้องกับการบันทึกภาพไปยังไฟล์โดยไม่ได้รับอนุญาต แดกดันวิธีแก้ปัญหาคือการใช้สตรีมหน่วยความจำขณะที่ฉันทำ .... public static byte[] ConvertImageToByteArray(Image imageToConvert) { using (var ms = new MemoryStream()) { ImageFormat format; switch (imageToConvert.MimeType()) { case "image/png": format = ImageFormat.Png; break; case "image/gif": format = ImageFormat.Gif; break; default: format = ImageFormat.Jpeg; break; } imageToConvert.Save(ms, …
326 c#  gdi+ 

3
ปรับขนาดภาพตามสัดส่วนด้วยข้อ จำกัด MaxHeight และ MaxWidth
การใช้System.Drawing.Image. หากความกว้างหรือความสูงของรูปภาพเกินค่าสูงสุดจำเป็นต้องปรับขนาดตามสัดส่วน หลังจากปรับขนาดแล้วจำเป็นต้องตรวจสอบให้แน่ใจว่าความกว้างหรือความสูงยังไม่เกินขีด จำกัด ความกว้างและความสูงจะถูกปรับขนาดจนกว่าจะไม่เกินสูงสุดและต่ำสุดโดยอัตโนมัติ (ขนาดใหญ่ที่สุดที่เป็นไปได้) และยังคงรักษาอัตราส่วนไว้

15
Image.Save (.. ) แสดงข้อยกเว้น GDI + เนื่องจากสตรีมหน่วยความจำถูกปิด
ฉันมีข้อมูลไบนารีที่ต้องการบันทึกเป็นรูปภาพ เมื่อฉันพยายามบันทึกภาพมันจะเกิดข้อยกเว้นหากสตรีมหน่วยความจำที่ใช้สร้างภาพถูกปิดก่อนบันทึก เหตุผลที่ฉันทำเช่นนี้เพราะฉันสร้างภาพแบบไดนามิกและด้วยเหตุนี้ .. ฉันจำเป็นต้องใช้สตรีมหน่วยความจำ นี่คือรหัส: [TestMethod] public void TestMethod1() { // Grab the binary data. byte[] data = File.ReadAllBytes("Chick.jpg"); // Read in the data but do not close, before using the stream. Stream originalBinaryDataStream = new MemoryStream(data); Bitmap image = new Bitmap(originalBinaryDataStream); image.Save(@"c:\test.jpg"); originalBinaryDataStream.Dispose(); // Now lets use a …
109 c#  image  exception  gdi+ 

7
วาดพิกเซลเดียวบน Windows Forms
ฉันติดอยู่ในการพยายามเปิดพิกเซลเดียวใน Windows Form graphics.DrawLine(Pens.Black, 50, 50, 51, 50); // draws two pixels graphics.DrawLine(Pens.Black, 50, 50, 50, 50); // draws no pixels จริงๆแล้ว API ควรมีวิธีตั้งค่าสีของหนึ่งพิกเซล แต่ฉันไม่เห็น ฉันใช้ C #
94 c#  .net  winforms  gdi+  pixel 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.