سؤال

أقوم بعمل تطبيق Windows Phone 7 يتضمن الحصول على صور كبيرة من الويب ووضعه في أ ScrollViewer للمستخدم للتمرير من خلال. أعتقد أنني أصاب قيودًا BitmapImage, ، على الرغم من أن الصورة يبدو أنها مقطوعة عند 2048 بكسل في الارتفاع أو العرض.

هل هذا قيود معروفة للفضة BitmapImage وهل هناك فئة أخرى لاستخدامها في هذه الحالة للسماح بالتمرير عبر الصور الكبيرة؟

شكرًا

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

المحلول

نعم ، هناك حد 2K × 2K. هذا هو قيود ويتم وصف الحل البديل في الورقة البيضاء "إنشاء تطبيقات Silverlight عالية الأداء لنظام التشغيل Windows Phone" http://www.microsoft.com/downloads/en/details.aspx؟displaylang=en&familyid=3a8636bf-185f-449a-a0ce-83502b9ec0ec

قيود الحجم: نظرًا لأن كاميرا Windows Phone هي 5 ميجابكسل ودقة الشاشة أصغر من الأنظمة الأساسية الأخرى ، فإن حدود الصور التي يمكن معالجتها هي 2K × 2K بكسل. أي شيء أكبر من ذلك سيتم أخذ عينات منه تلقائيًا بدقة أقل وستفقد الصورة بعض الثراء. معالجة الصور أكبر من 2K × 2K هناك سيناريوهات حيث تحتاج إلى معالجة الصور أكبر من 2K × 2K أو محرر الصور أو المحاصيل. في هذه السيناريوهات ، يمكنك معالجة الصور التي تزيد عن 2K × 2K في ملف ، ثم عرض جزء يناسب 2K × 2K. يمكنك استخدام مجموعة من crinablebitmap مع loadjpeg للقيام بذلك. مثال رقم 5 - LoadingLargeImages

XAML:

<StackPanel>
    <Image Height="3000" Width="3000" Name="image1" Stretch="Fill" />
    <Button Content="Load" Height="70" Width="152" Click="btnLoad_Click" />
</StackPanel>

الكود وراء:

private void btnLoad_Click(object sender, RoutedEventArgs e)
{
    StreamResourceInfo sri = null;
    Uri uri = new                                                                           Uri("LoadJpegSample;component/Test3k3k.JPG", UriKind.Relative);
    sri = Application.GetResourceStream(uri);

    WriteableBitmap wb = new WriteableBitmap((int)this.image1.Width, (int)this.image1.Height);

    Extensions.LoadJpeg(wb, sri.Stream);
    this.image1.Source = wb;
}

الأشياء التي يجب معرفتها عند استخدام صور أكبر من 2K × 2K:

  • إنه أبطأ بكثير
  • لا تستخدمه للرسوم المتحركة أو سيناريوهات التحريك.

طريقة تغيير الحجم من BrinsableBitMapex يمكن أيضًا استخدامها لهذه المهمة إذا لم يتوفر دفق JPEG.

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