StretchBlt()/StretchDIBits() non riesce quando diverse notevolmente di dimensioni della bitmap

Traduzione articoli Traduzione articoli
Identificativo articolo: 269585 - Visualizza i prodotti a cui si riferisce l?articolo.
Questo articolo è stato archiviato. L?articolo, quindi, viene offerto ?così come è? e non verrà più aggiornato.
Espandi tutto | Chiudi tutto

Sintomi

StretchBlt() e StretchDIBits() potrebbe restituire FALSE (0, un valore BOOLEAN che indica di errore) e ciò può verificarsi anche se la memoria di sistema non sia insufficiente, entrambi contesti di periferica compatibili ed entrambi i rettangoli sono entro limiti appropriati. Questo problema può verificarsi se la bitmap di origine è molto inferiore alla bitmap di destinazione.

È noto che questo problema influisce sulla visualizzazione di alcune bitmap come sfondo del desktop con contenuto Web di Active Desktop attivato.

Cause

Questo problema si verifica poiché GDI (Graphics Device Interface) alloca un buffer interno per le operazioni di ridimensionamento di bitmap. Una linea di digitalizzazione (o banda) dalla bitmap di origine è estesa (o in scala) in questo buffer e quindi copiati la bitmap di destinazione. La dimensione del buffer è determinata dalla iniziale seguenti condizioni:
  • La larghezza della bitmap di destinazione in un'origine PELS analizzare la riga.
  • Il fattore di scala verticale (altezza destinazione / origine altezza).
  • Il numero di byte per PEL (intensità del colore).
La dimensione massima di questo buffer è limitata a 64 kilobyte (per StretchBlt()) e 192 KB (per StretchDIBits()). Se la scala fattori o multipliers sono grandi, potrebbe non essere possibile StretchBlt() allocare un buffer è minore di 64 kilobyte (KB), e grandi dimensioni per gestire una banda singola. Analogamente, StretchDIBits() potrebbe risultare impossibile allocare un buffer di dimensioni inferiore 192 KB che può contenere una banda singola.

In presenza di metriche di visualizzazione di 1024 x 768 x 256 colori e una bitmap di origine di 16 x 16, ha esito negativo StretchBlt() a causa di condizioni di limite nel metodo risposta che viene utilizzato per la dimensione del buffer ottimali di ricerca, ma dovrebbe essere completato se la bitmap di origine sono stati 18 x 18 o superiore.

Informazioni

Per ulteriori informazioni sul perché potrebbe non riuscire StretchBlt(), fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
92529INFORMAZIONI: Motivi per errore di funzioni di bitmap
Per ulteriori informazioni sull'influenza Active Desktop Web contenuto questo problema, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
269595PRB: Sfondo Desktop Active codificato
Per ulteriori informazioni su questo problema e su Microsoft Windows 3.x, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
111865BUG: StretchBlt()/StretchDIBits() errori con estensione grandi

Proprietà

Identificativo articolo: 269585 - Ultima modifica: mercoledì 12 febbraio 2014 - Revisione: 1.3
Le informazioni in questo articolo si applicano a:
  • Microsoft Windows 98 Second Edition
  • Microsoft Windows 98 Standard Edition
  • Microsoft Windows 95
  • Microsoft Windows Millennium Edition
Chiavi: 
kbnosurvey kbarchive kbmt kbdisplay kbprb KB269585 KbMtit
Traduzione automatica articoli
Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 269585
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

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