Memuatkan imej sebagai sumber dalam WPF
Dalam pembangunan WPF, anda sering ingin membenamkan imej sebagai sumber dalam projek anda untuk akses dan penggunaan mudah. Walau bagaimanapun, menetapkan sumber imej secara dinamik dalam kod kadangkala boleh mencabar.
Andaikan anda menghadapi masalah memuatkan imej daripada sumber menggunakan kod berikut:
<code class="language-csharp">Assembly asm = Assembly.GetExecutingAssembly(); Stream iconStream = asm.GetManifestResourceStream("SomeImage.png"); PngBitmapDecoder iconDecoder = new PngBitmapDecoder(iconStream, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default); ImageSource iconSource = iconDecoder.Frames[0]; _icon.Source = iconSource;</code>
Walaupun strim mengandungi data imej, imej itu masih tidak kelihatan. Penyelesaiannya terletak pada penggunaan Pack URI, skema URI yang direka khusus untuk memuatkan sumber daripada perhimpunan.
Berikut ialah kaedah dikemas kini yang termasuk URI Pek:
<code class="language-csharp">Image finalImage = new Image(); finalImage.Width = 80; ... BitmapImage logo = new BitmapImage(); logo.BeginInit(); logo.UriSource = new Uri("pack://application:,,,/AssemblyName;component/Resources/logo.png"); logo.EndInit(); ... finalImage.Source = logo;</code>
URI ini menentukan kebenaran sebagai "application:///", diikuti dengan nama ringkas pemasangan, laluan ke fail sumber dan garis miring digantikan dengan koma. Selain itu, pastikan untuk menetapkan sumber imej kepada "sumber" sebagai tindakan binaannya.
Menggunakan URI Pek memastikan pemuatan sumber terbenam yang boleh dipercayai dalam WPF, membolehkan anda menyepadukan imej dengan lancar ke antara muka pengguna anda.
Atas ialah kandungan terperinci Bagaimana untuk Memuatkan Imej dari Sumber dalam WPF dengan betul?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!