Bitmap-Größe deutliche Abweichung zwischen StretchBlt()/StretchDIBits() schlägt

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 269585 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel wurde archiviert. Er wird im vorliegenden Zustand bereitgestellt und nicht mehr aktualisiert.
Alles erweitern | Alles schließen

Problembeschreibung

StretchBlt() und StretchDIBits() gibt FALSE (0, ein BOOLEAN-Wert, Fehler angibt) zurück, und dies kann auftreten, selbst wenn Systemspeicher nicht niedrig ist, beide Gerätekontexte kompatibel sind und beide Rechtecke befinden sich im richtigen Grenzen. Dieses Problem kann auftreten, wenn die Quell-Bitmap viel kleiner als die Ziel-Bitmap ist.

Dieses Problem tritt bekanntermaßen auf die Anzeige von bestimmten Bitmaps als desktop-Hintergrundbild mit Active Desktop-Inhalt aktiviert.

Ursache

Dies tritt auf, da Graphics Device Interface (GDI) für Bitmap Skalierung Vorgänge einen internen Puffer reserviert. Einer Scanzeile (Band) aus der Quell-Bitmap ist gestreckt bzw. skaliert) in diesem Puffer, und dann auf die Ziel-Bitmap kopiert. Die Größe des Puffers wird durch die folgenden anfänglichen Bedingungen bestimmt:
  • Die Breite des Ziel-Bitmap in PELS eine Quelle Scannen Zeile.
  • Der vertikale Skalierungsfaktor (Ziel Höhe / source Höhe).
  • Die Anzahl der Bytes pro PEL (Farbtiefe).
Die maximale Größe dieses Puffers ist auf 64 KB beschränkt (für StretchBlt()) und 192 KB (für StretchDIBits()). Wenn die Skalierung Faktoren oder Multiplikatoren groß sind, möglicherweise nicht für StretchBlt() keinen Puffer zuweisen, die kleiner als 64 Kilobyte (KB) ist möglich und groß genug, um ein einzelnes Band zu behandeln. Ebenso StretchDIBits() möglicherweise nicht um einen Puffer zu reservieren, der kleiner als 192 KB ist, der ein einzelnes Band aufnehmen kann.

Wenn 1024 x 768 x 256 Farben anzeigen Metriken und einer 16 x 16 Quell-Bitmap, fehlschlägt StretchBlt() aufgrund Grenzbedingungen in der Suche-Methode, die wird verwendet, um die optimale Puffergröße seek, aber würde erfolgreich, wenn die Quell-Bitmap 18 x 18 Zoll oder größer wurden.

Weitere Informationen

Informationen dazu, warum StretchBlt() fehlschlagen finden Sie die Artikel der Microsoft Knowledge Base:
92529Information: Gründe für Fehler von Bitmap-Funktion
Weitere Informationen dazu, wie dieses Problem Active Desktop Webinhalte auswirkt finden Sie die Artikel der Microsoft Knowledge Base:
269595PRB: Active Desktop-Hintergrund konvertiert
Weitere Informationen zu diesem Problem und Microsoft Windows 3.x folgendem Artikel der Microsoft Knowledge Base:
111865Fehler: StretchBlt()/StretchDIBits() Fehler mit Groß Strecken

Eigenschaften

Artikel-ID: 269585 - Geändert am: Sonntag, 2. Februar 2014 - Version: 1.3
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Windows 98 Second Edition
  • Microsoft Windows 98 Standard Edition
  • Microsoft Windows 95
  • Microsoft Windows Millennium Edition
Keywords: 
kbnosurvey kbarchive kbmt kbdisplay kbprb KB269585 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 269585
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

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