سؤال

أنا أقدم تطبيق WinForms C # 3.0. خلق مصممنا الكثير من الملفات .ico التي تحتوي على جميع الفن المطلوب. تم اختيار .ICO لأنه في كثير من الأحيان، هناك حاجة إلى نفس الصورة في عدة أماكن بأبعاد مختلفة.

الآن، يبدو أن الملفات. حقا مزعج للاستخدام في Visual Studio. يبدو أن الطريقة الوحيدة لاستخدام هذه الصور من خلال قائمة الصور (والتي لا تدعمها جميع عناصر التحكم). مقارنة بالموارد الأخرى، لا يمكنك كتابة هذا:

foo.Image = global::RFQHUB.RFQHUBClient.Properties.Resources.foo; //    Cannot implicitly convert type 'System.Drawing.Icon' to 'System.Drawing.Image'  

فيما يلي الخيارات التي أفكر فيها:

  • إنشاء مختصر من جميع الأحجام الممكنة الرجوع إلى جميع الرموز الخاصة بي في نافذتي الرئيسية. قم بربط هذه المختصر من Windows الأخرى وإيجاد طريقة لتصدير كائنات الصورة من ImageList عندما لا أستطيع استخدامها مباشرة؛ نظرا لأن ImageList يحتوي على طريقة التعادل ()، فمن المحتمل أن يكون هذا ممكنا.
  • تحويل جميع x.ico لقد حصلت على عدة X16.gif ... x48.gif، واستخدام أولئك من خلال الموارد.

سأكون مهتما بمعرفة ما إذا كان بعض الأشخاص قد استخدموا بنجاح موارد .ico في تطبيق WinForm. في ذلك، كيف قمت بإعداد الأشياء؟

هل كانت مفيدة؟

المحلول

ICO ليس شكل قديم تماما، لكنه قريب. لا يزال مفيدا للحصول على أيقونة التطبيق الخاصة بك، ولكن بالنسبة لكل شيء آخر تقريبا، من الأفضل استخدام ImageList لكل حجم تحتاجه. وهو أسرع بكثير في ملء صورة نقطية من صورة نقطية تحتوي على صور متعددة تم وضعها في شبكة.

تريد أيضا استخدام شفافية قناة ألفا في الصور النقطية الخاصة بك للحصول على أفضل نتيجة، لتخزينها كملفات .png في مواردك هي أفضل طريقة للذهاب، لأن PNG يدعم قناة ألفا. دعم ملفات ICO و GIF فقط قليلا للشفافية - كل بكسل إما غير شفافة تماما أو شفافة تماما. تبدو قناة ألفا 8 بت للشفافية أجمل كثيرا.

إذا تمكنت من إرسال فنانك إلى لوحة الرسم، فعليك القيام بذلك، ولديه / لها تصور صورا مضادة للتعاسة كاملة مع ألفا. إذا لم تتمكن، فأنا أقترح عليك كتابة برنامج صغير لتحويل جميع ملفات الأيقونات الخاصة بك إلى الصور النقطية المناسبة للتحميل في Imagelists.

نصائح أخرى

تحويل الصور إلى PNG. نقطة. كل من قرر استخدام ملفات .ICO لبدء تشغيله يجب أن يتحدث إلى خاصة - الحجة لا تحمل أي أرضية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top