AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Twain - DIN A3 einscannen

Ein Thema von Root2k · begonnen am 13. Jun 2012 · letzter Beitrag vom 14. Sep 2017
Antwort Antwort
Root2k

Registriert seit: 7. Jun 2011
Ort: Ulm
49 Beiträge
 
Delphi XE Enterprise
 
#1

Twain - DIN A3 einscannen

  Alt 13. Jun 2012, 15:56
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.
  Mit Zitat antworten Zitat
freeway

Registriert seit: 11. Jul 2009
57 Beiträge
 
Delphi XE Professional
 
#2

AW: Twain - DIN A3 einscannen

  Alt 13. Jun 2012, 17:44
woher weiss dein A4 Scanner das er A4 scannen soll ?
Irgendwo sollte sowas wie eine Grösseeinstellung vorhanden sein
  Mit Zitat antworten Zitat
Root2k

Registriert seit: 7. Jun 2011
Ort: Ulm
49 Beiträge
 
Delphi XE Enterprise
 
#3

AW: Twain - DIN A3 einscannen

  Alt 14. Jun 2012, 08:13
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.

*closed*

Geändert von Root2k (14. Jun 2012 um 08:21 Uhr)
  Mit Zitat antworten Zitat
Schwedenbitter

Registriert seit: 22. Mär 2003
Ort: Finsterwalde
622 Beiträge
 
Turbo Delphi für Win32
 
#4

AW: Twain - DIN A3 einscannen

  Alt 13. Sep 2017, 23:50
...
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 SetIContrast() steckt?
Vermutlich wird es irgend etwas mit fTwain.Source[fScanner].SetOneValue(ICAP_CONTRAST, ...); sein, wobei 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

Danke.
Alex Winzer
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.081 Beiträge
 
Delphi 2009 Professional
 
#5

AW: Twain - DIN A3 einscannen

  Alt 14. Sep 2017, 00:09
Zitat:
Letzte Aktivität: 25. Feb 2013 16:17
Du störst die Totenruhe. Vielleicht antwortet er auf eine PM.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:58 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