ข้อบกพร่องทั่วไปใน GDI+ ได้รับการแก้ไขแล้ว ข้อบกพร่องนี้ทำให้เกิดปัญหากับรูปภาพและกราฟิกบางประเภท การแก้ไขพร้อมใช้งานแล้วและควรใช้กับทุกระบบ
เมื่อคุณพยายามแก้ไขวัตถุบิตแมป บันทึกหรืออัปโหลดรูปภาพไปยังเว็บเซิร์ฟเวอร์ คุณอาจได้รับข้อผิดพลาด ข้อผิดพลาดทั่วไปใน GDI+ . ข้อผิดพลาดสามารถเกิดขึ้นได้ไม่ว่าจะใช้แอปพลิเคชันใดก็ตาม โพสต์นี้ให้แนวทางแก้ไขที่เกี่ยวข้องมากที่สุดซึ่งผู้ใช้ที่ได้รับผลกระทบสามารถนำไปใช้เพื่อแก้ไขปัญหาได้
วิธีกำจัดคุณลักษณะของตระกูล Microsoft
GDI+ คืออะไร?
Windows GDI+ มีกราฟิกเวกเตอร์ รูปภาพ และการพิมพ์แบบ 2 มิติ โดยทำหน้าที่เป็นชั้นกลางระหว่างแอปพลิเคชันและไดรเวอร์อุปกรณ์สำหรับการแสดงกราฟิก รูปภาพ และข้อความ 2 มิติ GDI+ ดีขึ้น อินเทอร์เฟซอุปกรณ์กราฟิก Windows (GDI) (ส่วนต่อประสานอุปกรณ์กราฟิกที่รวมอยู่ใน Windows รุ่นก่อนหน้า) เพิ่มคุณสมบัติใหม่และเพิ่มประสิทธิภาพสิ่งที่มีอยู่ กล่าวอีกนัยหนึ่ง GDI+ เป็นระบบย่อยกราฟิกของ Windows ซึ่งประกอบด้วย Application Programming Interface (API) สำหรับแสดงกราฟิกและ Rich Text ทั้งบนจอแสดงผลวิดีโอและเครื่องพิมพ์
ข้อผิดพลาดทั่วไปใน GDI+
ข้อผิดพลาดทั่วไปใน GDI+ ข้อผิดพลาดนั้นเป็นเรื่องทั่วไปเนื่องจากข้อยกเว้นไม่มีรายละเอียดใดๆ อย่างไรก็ตาม หากคุณประสบปัญหานี้ คำแนะนำด้านล่างนี้จะช่วยคุณแก้ไขปัญหาได้ ทั้งนี้ขึ้นอยู่กับสถานการณ์หรืองานที่คุณกำลังดำเนินการ
1] รีบูตสภาพแวดล้อมเป้าหมาย จากนั้นทำซ้ำการกระทำที่คุณดำเนินการ สิ่งนี้ได้ผลกับผู้ใช้ที่ได้รับผลกระทบในการปรับใช้หรือย้ายแอปจากการใช้งานจริงไปสู่การใช้งานจริง
สอง] ข้อผิดพลาดนี้อาจเกิดขึ้นได้เนื่องจากการตั้งค่า 'ล็อก' เมื่อพยายามบันทึกและเขียนทับบิตแมปที่แก้ไขแล้ว เนื่องจากการเริ่มต้นวัตถุบิตแมปจากภาพที่จัดเก็บไว้ในฮาร์ดไดรฟ์จะเป็นการล็อกไฟล์ภาพต้นแบบ กล่าวอีกนัยหนึ่ง เมื่อวัตถุบิตแมปหรือวัตถุรูปภาพถูกสร้างขึ้นจากไฟล์ ไฟล์จะยังคงถูกล็อกไว้ตามระยะเวลาของวัตถุนั้น ด้วยเหตุนี้ คุณไม่สามารถเปลี่ยนภาพและบันทึกกลับเป็นไฟล์เดียวกับที่สร้างไว้ ในกรณีนี้ ให้เลือกทำอย่างใดอย่างหนึ่งต่อไปนี้เพื่อแก้ไขปัญหา:
- แทนที่จะเขียนทับไฟล์ ให้บันทึกไฟล์ใหม่ด้วยชื่อที่แตกต่างจากไฟล์ต้นฉบับ
- หากคุณต้องการเขียนทับไฟล์ที่มีอยู่ ให้สร้างบิตแมปแยกต่างหากจากบิตแมปที่มีอยู่ จากนั้นกำจัดบิตแมปเก่า ซึ่งจะปลดล็อกไฟล์รูปภาพ ตอนนี้คุณสามารถทำการเปลี่ยนแปลงที่จำเป็นกับบิตแมปใหม่และบันทึกบิตแมปใหม่ด้วยชื่อไฟล์ภาพต้นฉบับ
- บันทึกไปยังสตรีมหน่วยความจำ 'ระดับกลาง' รหัส |_+_| และ |_+_| แม้ว่าจะขัดกับสัญชาตญาณ แต่ควรทำงานด้วยรูปแบบต่างๆ เล็กน้อยเพื่ออธิบายการเรียกใช้เมธอดเฉพาะใดๆ
โปรดทราบว่าการล็อกพื้นฐานของไฟล์จะปลดล็อกเมื่อวัตถุบิตแมปถูกลบเท่านั้น เมื่อปลดล็อกแล้ว คุณสามารถเขียนทับได้
อ่าน : ปลดล็อกหรือลบไฟล์ที่ถูกล็อคหรือป้องกันใน Windows ด้วย ThisIsMyFile
3] คุณต้องกำจัดรูปภาพของคุณ เพราะถ้าคุณพึ่งพาตัวรวบรวมขยะเพื่อค้นหาพวกเขาในเวลาและปลดปล่อยทรัพยากร GDI ที่ไม่มีการจัดการ คุณมักจะได้รับการยกเว้น นอกจากนี้ เมื่อเขียนโค้ด ให้ใส่ใจกับประเด็นต่อไปนี้:
- |_+_| มันเสียเวลา แค่เล่นมันถ้าคุณต้องการ
- หากคุณต้องการเชื่อมพาธ ให้ใช้ |_+_|
- ใช้การแก้ไขสตริงแทนการเพิ่มสตริง
- หากคุณต้องการหลีกอักขระ เช่น เครื่องหมายแบ็กสแลช ให้ใช้ Verbatim String Literal @”…” .
- มักจะชอบ |_+_| โอเปอเรเตอร์ซึ่งไม่เคยลืมที่จะลบออบเจกต์ แม้ว่าโค้ดจะมีข้อยกเว้นก็ตาม
อ่าน : หลักการและแนวทางการเขียนโปรแกรมที่ดีที่สุดที่โปรแกรมเมอร์ทุกคนควรปฏิบัติตาม
4] ไม่มีสิทธิ์ในการเขียนไปยังโฟลเดอร์เมื่อบันทึกไฟล์ โดยเฉพาะอย่างยิ่งหากคุณได้รับข้อผิดพลาดบนเว็บไซต์เนื่องจากเว็บไซต์กำลังทำงานโดยมีสิทธิ์จำกัด ในเว็บแอปพลิเคชัน กลุ่มแอปพลิเคชันหรือบัญชีที่เรียกใช้เว็บไซต์ต้องมีสิทธิ์เขียนไปยังโฟลเดอร์ที่จะบันทึกไฟล์ ดังนั้นตรวจสอบให้แน่ใจว่าโฟลเดอร์ที่คุณพยายามบันทึกไฟล์สามารถเขียนได้ ตัวอย่างเช่น หากคุณใช้เว็บไซต์ภายใต้บัญชี |_+_| คุณต้องกำหนดผู้ใช้ |_+_| เขียนสิทธิ์ไปยังโฟลเดอร์
อ่าน : ทางเว็บไซต์ขออนุญาตเก็บข้อมูลไว้ในคอมพิวเตอร์เพื่อใช้งานออฟไลน์
5] หากคุณใช้ Azure และรับ ข้อผิดพลาดทั่วไปใน GDI+ เมื่อเปิดบิตแมปแล้วบนเว็บเซิร์ฟเวอร์ระยะไกลเท่านั้น และไม่ได้อยู่ในเครื่องทดสอบในระบบของคุณ อาจเกิดขึ้นได้ว่า GDI+ ที่มีอยู่ในเซิร์ฟเวอร์ Azure IIS ไม่สามารถจัดการรูปแบบ BMP ใหม่ที่สร้างโดย GIMP หากเป็นเช่นนั้น ให้ทำอย่างใดอย่างหนึ่งต่อไปนี้เพื่อแก้ไขปัญหา:
- บันทึก BMP ใหม่ด้วยโปรแกรมระบายสี
- ใช้ PNG ที่ไม่บีบอัดแทน
- บันทึกเป็น BMP 24 บิตด้วย GIMP วิธีนี้จะให้คุณภาพที่ไม่ดี
อ่าน : ระบายสี 3D ไม่ถูกบันทึก; ไม่แสดงตัวเลือกการส่งออก
6] ข้อความแสดงข้อผิดพลาดนี้จะแสดงขึ้นหากเส้นทางที่คุณผ่าน |_+_| ไม่ถูกต้อง (ไม่มีโฟลเดอร์ ฯลฯ) คุณกำลังเขียนเส้นทางผิดเพื่อบันทึกภาพ ในกรณีนี้ ตรวจสอบให้แน่ใจว่าได้แก้ไขเส้นทางการบันทึกและตรวจสอบให้แน่ใจว่าเส้นทางของคุณมีชื่อไฟล์ด้วย
7] หากมีไฟล์บิตแมปอยู่แล้วในไดรฟ์ระบบ และแอปพลิเคชันของคุณแสดงข้อผิดพลาด ให้ทำตามขั้นตอนเหล่านี้:
- ตรวจสอบให้แน่ใจว่ามีโฟลเดอร์ปลายทางอยู่
- ตรวจสอบให้แน่ใจว่าโฟลเดอร์ปลายทางไม่มีไฟล์ชื่อนั้นอยู่แล้ว
- ตรวจสอบสิทธิ์ของโฟลเดอร์ที่บันทึกภาพไว้ในไดรฟ์ในเครื่องของคุณ โดยคลิกขวาที่โฟลเดอร์ แล้วไปที่ ลักษณะเฉพาะ > ความปลอดภัย > แก้ไข > เพิ่ม - เลือก ทั้งหมด และตรวจสอบ อนุญาตให้เข้าถึงได้อย่างเต็มที่ .
อ่าน : วิธีการเป็นเจ้าของไฟล์และโฟลเดอร์ทั้งหมดใน Windows
ฉันหวังว่าคุณจะพบว่าโพสต์นี้มีประโยชน์!
วิธีแก้ไขข้อผิดพลาดทั่วไปใน GDI + ใน C #
หากคุณได้รับข้อผิดพลาดทั่วไปเกิดขึ้นใน GDI+ ใน C# อาจเป็นเพราะไฟล์บิตแมปที่คุณพยายามบันทึกมีอยู่แล้วในไดรฟ์ระบบของคุณ ในกรณีนี้ คุณสามารถตรวจสอบได้ว่ามีโฟลเดอร์ปลายทางอยู่และไม่มีไฟล์ที่มีชื่อเดียวกันอยู่แล้ว
อ่าน : เกิดข้อผิดพลาด JavaScript ในข้อความกระบวนการหลักบน Windows
ข้อผิดพลาด GDI+ คืออะไร?
GDI+ จะแสดงข้อผิดพลาดเมื่อไม่สามารถบันทึกไฟล์ได้ ซึ่งมักเกิดจากสาเหตุที่พบบ่อยที่สุด 2 ประการ เหตุผลประการหนึ่งคือเมื่อคุณเริ่มต้นวัตถุบิตแมปจากรูปภาพที่จัดเก็บไว้ในฮาร์ดไดรฟ์ มันจะสร้างการล็อกในไฟล์รูปภาพที่อยู่ด้านล่าง เนื่องจากการล็อก เมื่อคุณพยายามบันทึกและเขียนทับบิตแมปที่แก้ไขแล้ว ข้อผิดพลาดนี้จึงเกิดขึ้น
จะแก้ไขหน้าต่าง GDI ได้อย่างไร
หากต้องการแก้ไขข้อผิดพลาด GDI+ Windows บนอุปกรณ์ของคุณ ให้ตรวจสอบว่าคำแนะนำต่อไปนี้ใช้ได้ผลหรือไม่:
- เรียกใช้การสแกน SFC ในพรอมต์คำสั่งที่ยกระดับ
- เรียกใช้ตัวแก้ไขปัญหาพลังงาน
- อัปเดตไดรเวอร์การ์ดแสดงผลของคุณ
- ตรวจสอบ Windows Update
- เริ่มคอมพิวเตอร์ของคุณในโหมดคลีนบูต
อ่าน : แก้ไขไม่พบ gdi32full.dll หรือข้อผิดพลาดหายไปใน Windows
ไม่มีการตั้งค่าเริ่มต้นในตัวเลือกขั้นสูง
GDI บนแล็ปท็อปของฉันคืออะไร
GDI ช่วยให้นักพัฒนาแอปพลิเคชันแสดงข้อมูลบนหน้าจอหรือเครื่องพิมพ์โดยไม่ต้องกังวลเกี่ยวกับรายละเอียดของอุปกรณ์แสดงผลเฉพาะ นักพัฒนาแอปพลิเคชันเรียกใช้เมธอดที่จัดเตรียมโดยคลาส GDI+ และเมธอดเหล่านี้จะทำการเรียกที่เหมาะสมไปยังไดรเวอร์อุปกรณ์เฉพาะ GDI+ แยกแอปพลิเคชันออกจากฮาร์ดแวร์กราฟิก และการแยกนี้ช่วยให้นักพัฒนาสามารถสร้างแอปพลิเคชันที่ไม่ขึ้นกับอุปกรณ์
Windows ยังคงใช้ GDI อยู่หรือไม่
ด้วยการกำเนิดของ Windows XP ทำให้ GDI เลิกใช้งานแล้วและหันมาใช้ระบบย่อย GDI+ ที่ใช้ภาษา C++ แทน แม้ว่า GDI+ จะรวมอยู่ใน Windows XP และใหม่กว่า แต่ GDI+ DLL ยังสามารถจัดส่งมาพร้อมกับแอปพลิเคชันและใช้กับ Windows รุ่นก่อนหน้าได้
อ่าน : คำอธิบายของไฟล์ Ntdll.dll, Advapi32.dll, Gdi32.dll