Hata: StretchBlt()/StretchDIBits() hata ile çok büyük Genişlet

Makale çevirileri Makale çevirileri
Makale numarası: 111865 - Bu makalenin geçerli olduğu ürünleri görün.
3.00 3.10 WINDOWS kbprg kbbuglist
Hepsini aç | Hepsini kapa

Belirtiler

Uzatma faktörü büyükse, örneğin, büyük bir yüksekliği için bir çok küçük uzatarak, StretchDIBits()StretchBlt() sıfır (0) geri dönmek ve hiçbir şey görüntülemez. Daha küçük bir Uzat ile aynı bit eşlem doğru görüntülenir.

Neden

Bu çağrı GDI benzetimini yapmak gerekir; bu nedenle çoğu görüntü sürücüleri kendi StretchBlt() veya StretchDIBits() uygulamak değil. 64 K için sınırlı geçici çalışma arabellekleri ayrılıyor GDI benzetimi bir bölümünü içerir. Iş arabelleğin boyutu 64 K'dan büyük hesaplanıyorsa, daha sonra kaynak ve hedef dikdörtgenler yüksekliğini yarıya 64 K'den az kadar. Yüksekliği için 64 K küçüktür arabelleğe almak için iki (2) bölmek GDI sürdürmek zorundaysanız, kaynak veya hedef yüksekliği sonunda bir tarama satır ulaşması, sorundur. Bu noktada, bir tarama subunits satıra bölmek edemiyor çünkü çağrısı başarısız olur.

StretchBlt() ve StretchDIBits() sınırsız uzatarak sağlamak üzere tasarlanmamıştır. Ancak, kullanıcılar kendi tasarım sınırlamasından biraz daha erken başarısız olabilir.

Çözüm

StretchBlt() veya StretchDIBits() üzerinde büyük bir Uzat başarısız olursa, uygulama kaynak bit eşlem kadar bölme parçaları ayrı ayrı Uzat ve bunları bir kez doğru uzatılmış getirin. Başka bir seçenek daha küçük bir Uzat yapıştırmaktır. Tam olarak ne bit eşlemler yayma ne boyutta başarısız olacak belirlemek için yok bir formül yoktur.

Durum

Microsoft, bunun bu makalenin başında listelenen Microsoft ürünlerinde bir hata olduğunu onaylamıştır.

Daha fazla bilgi

Sorunu yeniden oluşturmak için <a0></a0>, yaklaşık 2048 piksel genişliğinde x 16 piksel daha yüksek bir bit eşlem oluşturun. Sonra Windows 3.1 SDK DIBVIEW örnek ile bit eşlem görüntüler. Pencereye Uzat DIBVIEW'ın Seçenekler menüsünden bir bit eşlem <a0>istemci</a0> penceresinin boyutuna göre uzatılmış seçin. Yükseklik çok yaklaşık 200 piksel, bit eşlem görüntülenmeyecektir.

Özellikler

Makale numarası: 111865 - Last Review: 7 Mart 2005 Pazartesi - Gözden geçirme: 2.1
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Windows Software Development Kit 3.0
  • Microsoft Windows Software Development Kit 3.1
Anahtar Kelimeler: 
kbmt kbbug kbpending KB111865 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:111865

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com