02-06-14, 04:30 PM
جزاك الله خير
بس الدالة لتحويل صورة الي ايقونة انا اريد العكس
بس الدالة لتحويل صورة الي ايقونة انا اريد العكس
[سؤال] الحصول علي صورة بمقاس معين وجودة معينة من داخل ايقونة
|
02-06-14, 04:30 PM
جزاك الله خير
بس الدالة لتحويل صورة الي ايقونة انا اريد العكس
02-06-14, 04:45 PM
يعني انتا عايز عايز تحول الايقونة ل صورة؟؟؟؟؟؟؟؟؟؟؟؟؟ وضح شوية من فضلك
02-06-14, 04:52 PM
ههههههههه والله وضحت حوالي 4 مرات بس مش عارف ايه المشكلة
الله المستعان اسئل االه تعالي ان يفهمني يا جماعة الايقونة icon هي عبارة عن مجموعة من الصور وليست صورة واحدة انظر الصورة الصور مختلفة عن بعضها انا اريد جلب صورة منهم وهذا موجود بالمثال السابق
02-06-14, 06:32 PM
بعد قراءة المشروع الي في الرابط
ارى انه اعتمد على مكتبات معقدة في النظام لذلك اضن انه يمكن التحويل الى ابعاد محددة من الايقونة وهي : 16x16 32x32 64x64 128x128 256x256 غير هذه الابعاد لا اضن انها ممكنة اذا كان هذا يرضيك ساقوم بتجهيز الكود حالا
02-06-14, 08:12 PM
انتظرك اخي محمد
02-06-14, 10:34 PM
أعتذر ......أنا ما كنت شفت البرنامج الموجود ف الكودبروجكت....شوف الصورة حسبما فهمت بتكون عبارة عن شريحة من الصور
الكود ادناه سوف يتعامل مع هذا النوع من الصور بشرط ان الصورة تكون موجودة في Resources الخاصة بمشروعك عموما طالما تستطيع أن تستخلص الصورة أو إن الصورة بالفعل معك أي شئ أخر سهل جدا بعد ذلك. الفكرة تنحصر في انك محتاج يكون لديك الصورة في Resources المشروع ثم تجعل Build Action الخاص ب الصورة Embeded ثم نفذ الخطوات التالية: 1- تعريف Array و هي التي سوف نقوم بتخزين كل الصور بداخلها كود : Private images As Image() 2 - تقوم بتعريف الصورة الموجودة في Resources وممكن تتعامل معها بشكل مباشر الحقيقة انا أفضل تعريف صورة أخري حيث تكون الصورة الثانية بمثابة clone من الصورة الاصلية كود : Dim ResourcesBitmap As Bitmap = My.Resources.ImageStrip_Jpeg 3- تحديد عدد الصور ف الشريحة و غالبا أنت هنا تتعامل مع شريحة افقية بها عدد أفقي من الصور ثم تمرر هذا العدد الي Array الموجودة في الخطوة الأولي كود : Dim count As Integer = bmp.Width / bmp.Height 4 - تعريف متغير عبارة عن مستطيل نحدد به أبعاد كل صورة كود : Dim rect As Rectangle = New Rectangle(0, 0, bmp.Height, bmp.Height) 5- نقوم بعمل loop لنقرأ الصور الموجودة في شريحة الصور ثم نضيف كل صورة الي مصفوفة الصور كود : For i As Integer = 0 To count - 1 6- الأن مصفوفة الصور بهها كل الصور...أفترض أنك تستطيع الأن استخدام مصفوفة الصور كما تشاء مثلا ممكن تعرض الصورةالصورة الأولي في المصفوفة في PictureBox مثلا أو تحفظها علي جهاز كود : Me.PictureBox1.Image = images(0) الكود الاجمالي سيكون شكله كالتالي كود : Private images As Image() عند تنفيذ الكود سيكون بطئ قليلا في البداية لذلك الأفضل ان يتم كتابة الكود علي هيئة كلاس أو موديول و استخدامه من داخل مشروعك في مشروعك عموها هذه هي الفكرة بشكل عام
02-06-14, 10:52 PM
تم تكوين الكلاس ! طريقة الاستعمال :- اولا تستعمل دالة Create لإنشاء كائن ايقونة ثانيا تستعمل الدالة IconToImage وتعطيها البارمترات المطلوبة (سيظهر لك شرح لكل بارميتار بالعربي) PHP كود : string path = @"C:\Program Files\TeamViewer\Version9\TeamViewer.exe"; //you can use also .ico files بالنسبة للبارميتار الثاني فإنك تعطيه Size الي تبيه . اما بالنسبة للجودة ، فاني قمت افتراضيا بجلب الدقة الافضل : كما هو واضح في احد اكواد الكلاس :- PHP كود : Icon ic = Icons.OrderBy(i => (int)i.GetType().GetField("bestBitDepth" الكود اعلاه بيجيب bestBitDepth بمعنى افضل جودة للحجم الي انت اخترته - لان جه في بالي انك ماراح تحتاج الى اختيار الجودة لأنك بتستعمل الصور في اداة imagelist واداة ImageList توجد بها خاصية اسمها ColorDepth حتى تختار جودة الصورة ، فما تحتاج تحدد الجودة في عملية التحويل لانك في النهاية تقدر تتحكم بالجودة من اداة ImageList ___ وايضا بعض الايقونات لايتوفر لها حجم 128 او 256 لذلك وضعت البارميتار الثالث لتحديد ان اردت جلب اكبر حجم ممكن ان لم يتوفر الحجم الذي اردته او رمي استثناء
03-06-14, 10:34 AM
السلام عليكم، كيف حال الجميع؟
لم أقرأ الردود كلها لضيق الوقت لكن هذا الموضوع قد يساعدكم http://vb4arb.com/vb/thread-1328.html في رعاية الله
03-06-14, 10:56 AM
جزاكم الله خيرا اخواني وجعله الله تعالي في موازين حسناتكم مجهودات كبيرة جدا شكرا لكم وهذا المعتاد منكم دائما
اخي محمد ممكن السورس |
|