Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Twain - DIN A3 einscannen (https://www.delphipraxis.net/168837-twain-din-a3-einscannen.html)

Root2k 13. Jun 2012 14:56

Twain - DIN A3 einscannen
 
Hi,

ich habe ein kleines Problem mit einem DIN-A3 Scanner (Fujitsu fi-5530C2). Irgendwie schaffe ich es nicht, dass mir ein Image in der richtigen Größe zurückgegeben wird.

Folgender Sachverhalt:
- Ich verwende die hier im Board angebotene Version von Delphi Twain um auch mit Delphi XE damit arbeiten zu können.
- Bisher habe ich mit einem DIN-A4 Scanner gearbeitet - hier funktioniert alles problemlos. Der Code stammt jedoch nicht von mir, aber ich konnte auch keine passenden Stellen finden. Es wird eigentlich nur etwas an der DPI-Einstellung und dem Kontrast geändert. D.h. es wird automatisch das DIN-A4 Format ausgewählt (was bei einem DIN-A4 Scanner ja auch irgendwo logisch erscheint).
Hier hab ich auch noch den passenden Quellcode:

Delphi-Quellcode:
      with twnScan.Source[SelectedSource] do
      begin
        Loaded := TRUE;
        TransferMode := ttmMemory;
        if FbolScanColor then
        begin
          SetIPixelType(tbdRgb);
          SetIBitDepth(24);
        end
        else
        begin
          SetIPixelType(tbdGray);
          SetIBitDepth(8);
        end;
        SetCapXferCount(-1);  // Application is willing to transfer multiple images
        SetIndicators(true);
        SetICapUnits(tuInches); // TTwainUnit = (tuInches, tuCentimeters, tuPicas,
        SetIXResolution(150.0); //               tuPoints, tuTwips, tuPixels, tuUnknown);
        SetIYResolution(150.0);
        SetIContrast(twnScan.Source[SelectedSource], 100);
        EnableSource(false, false);
      end; // with

- Bei dem gleichen Code und einem angeschlossenen DIN-A3 Scanner bekomme ich nun leider nur einen Ausschnitt des Scans - und zwar in Größe eines DIN-A4 Blattes. D.h. das (DIN-A3) Blatt wird richtig eingescannt, aber mir wird ein zu kleiner Ausschnitt (DIN-A4) zurückgeliefert.
- Das zurückgegebene Bild kommt von der TDelphiTwain-Komponente - bzw. über die Methode OnTwainAcquire. Diese kann man automatisch erzeugen lassen und enthält den Übergabeparameter "Image" (TBitmap). Leider hat dieses Bitmap aber die falsche Größe und beinhaltet nur einen Teil des Bildes.

Könnt Ihr mir vielleicht sagen, wie ich den DIN-A3 Scanner dazu bringen kann mir ein Bild in der richtigen Größe (und dem kompletten Inhalt) zurückzuliefern?
Ich hoffe, dass ich mein Anliegen einigermaßen verständlich formuliert habe.

Bin für jede Hilfe dankbar.

freeway 13. Jun 2012 16:44

AW: Twain - DIN A3 einscannen
 
woher weiss dein A4 Scanner das er A4 scannen soll ?
Irgendwo sollte sowas wie eine Grösseeinstellung vorhanden sein

Root2k 14. Jun 2012 07:13

AW: Twain - DIN A3 einscannen
 
Ok, das Thema hat sich erledigt.
Wenn ich an den Einstellungen (vom Scanner) in Windows etwas verändert hab hat das keine Auswirkungen auf mein Programm. Aber wenn ich über ein Programm von Fujitsu (ScandAll - kommt aber eigentlich vom DIN-A4 Scanner) die Einstellungen bearbeite, werden diese auch in meinem Programm verwendet. Da kann man also direkt am TWAIN-Treiber arbeiten.

Aber wie soll man denn bitte so einfach darauf kommen? :?:

Naja, auf jeden Fall funktioniert alles wie ich es will. :thumb:

*closed*

Schwedenbitter 13. Sep 2017 22:50

AW: Twain - DIN A3 einscannen
 
Zitat:

Zitat von Root2k (Beitrag 1170681)
...
Delphi-Quellcode:
      with twnScan.Source[SelectedSource] do
      begin
        // ...
        SetIContrast(twnScan.Source[SelectedSource], 100);
        // ...
      end; // with
...
Bin für jede Hilfe dankbar.

Ich wäre auch sehr dankbar. Würde es Dir viel ausmachen, mir mal den Code zu posten (ggf. auch als PM), der hinter
Delphi-Quellcode:
SetIContrast()
steckt?
Vermutlich wird es irgend etwas mit
Delphi-Quellcode:
fTwain.Source[fScanner].SetOneValue(ICAP_CONTRAST, ...);
sein, wobei
Delphi-Quellcode:
ICAP_CONTRAST = $1103;
ist. Fraglich ist, welches TWTY_UNIT und wie übergeben wird.
Wenn Du/Dein Vorgänger das bereits funktionierend hatte(s)t, muss ich das nicht mühsam und fehleranfällig ausprobieren.

Falls jemand anderes weiß, wie es geht, kann natürlich auch dieser jemand antworten :lol:

Danke.

Redeemer 13. Sep 2017 23:09

AW: Twain - DIN A3 einscannen
 
Zitat:

Letzte Aktivität: 25. Feb 2013 16:17
Du störst die Totenruhe. Vielleicht antwortet er auf eine PM.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:26 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz