Discussione: [C] Twain
View Single Post
Old 07-02-2004, 10:53   #10
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
ina mbiente BCB tutto si riduce al codice sotto senza impazzire più di tanto:


Codice:
     int ex = TwainExists();

     if(ex != NULL)
     {

     HANDLE dib = TwainGetImage( Handle );

     if ( dib == 0 ) return;

     LPBITMAPINFO bmi = (LPBITMAPINFO)::GlobalLock(dib);

     Image->Picture->Bitmap->Height = bmi->bmiHeader.biHeight;
     Image->Picture->Bitmap->Width = bmi->bmiHeader.biWidth;

     SetDIBits( Image->Picture->Bitmap->Canvas->Handle, Image->Picture->Bitmap->Handle, 0,
                        (UINT) bmi->bmiHeader.biHeight,
			(Byte*)((Byte*)bmi + sizeof(BITMAPINFOHEADER)),
                        bmi, DIB_RGB_COLORS );

     Image->Width = bmi->bmiHeader.biWidth;
     Image->Height = bmi->bmiHeader.biHeight;

     Image1->Width=Image->Width;
     Image1->Height=Image->Height;

     rapporto = (double)Image->Picture->Width/(double)Image->Picture->Height;
     myForm->Caption = revisione + String(" (X:")+Image->Width+" Y:"+Image->Height+")";
     Snap = true;

     ::GlobalUnlock( dib );
     ::GlobalFree( dib );
     }
misterx è offline   Rispondi citando il messaggio o parte di esso