هو BitmapSource النوع الوحيد يمكن استخدامها في صورة المصدر ؟

StackOverflow https://stackoverflow.com/questions/185741

  •  06-07-2019
  •  | 
  •  

سؤال

يمكننا استخدام Bitmapsource وجوه محتوى تحكم الصورة ، ومع ذلك إذا كان لدي سوى كائن صورة نقطية يمكن استخدامه مباشرة ، إن تحويل الصور النقطية إلى Bitmapsouce باستخدام الطريقة التالية:

        Bitmap bitmap = imageObjToBeConvert;
        IntPtr HBitmap = bitmap.GetHbitmap();
        result = Imaging.CreateBitmapSourceFromHBitmap
            (HBitmap,
            IntPtr.Zero,
            Int32Rect.Empty,
            BitmapSizeOptions.FromEmptyOptions());
        DeleteObject(HBitmap);
        bitmap.Dispose();

يستغرق بعض الوقت.هل هناك أي طريقة استخدام الصورة نقطية مباشرة ؟

ووجدت BitmapSource يبدو لا يمكن تحريرها مباشرة ، هناك عينة طريقة لتحرير الذاكرة على الفور ، بعد Bitmapsouce لا تستخدم مرة أخرى.

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

المحلول

لا، لا يمكنك استخدام Bitmap مباشرة. وذلك لأن System.Drawing.Bitmap هو GDI + نقطية، في حين أن الطبقات مثل BitmapImage في System.Windows.Media.Imaging هي D3D / دايركت.

وفيما يتعلق استخدام الذاكرة، لا يمكن الإفراج عنها مباشرة، ولكن عادة ما يكون هناك نوعا من التخزين المؤقت الذي يذهب في الخلفية. هناك طرق يمكنك تحميل BitmapImage بحيث يتجاهل ذاكرة التخزين المؤقت.

نصائح أخرى

  • النظام.يقوم نظام ويندوز.وسائل الاعلام.التصوير..::.BitmapFrame
  • النظام.يقوم نظام ويندوز.وسائل الاعلام.التصوير..::.BitmapImage
  • النظام.يقوم نظام ويندوز.وسائل الاعلام.التصوير..::.CachedBitmap
  • النظام.يقوم نظام ويندوز.وسائل الاعلام.التصوير..::.ColorConvertedBitmap
  • النظام.يقوم نظام ويندوز.وسائل الاعلام.التصوير..::.CroppedBitmap
  • النظام.يقوم نظام ويندوز.وسائل الاعلام.التصوير..::.FormatConvertedBitmap
  • النظام.يقوم نظام ويندوز.وسائل الاعلام.التصوير..::.RenderTargetBitmap
  • النظام.يقوم نظام ويندوز.وسائل الاعلام.التصوير..::.TransformedBitmap
  • النظام.يقوم نظام ويندوز.وسائل الاعلام.التصوير..::.WriteableBitmap

كل من هذه الفئات ترث من BitMapSource ، لذلك أي منهم يمكن أن تستخدم في هذا السياق.

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