Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα. Υπάρχει κάποιο πρόγραμμα που να μπορεί κάποιος να μεταφέρει μια ζωγραφιά που έχει φτιάξει στο χαρτί στο pc;

 

Δηλαδή να σχεδιάσει ένα σκίτσο σε χαρτί, να το μεταφέρει στον υπολογιστή και από κει κ πέρα να μπορέσει να το χειριστεί όπως θέλει. Είτε στο blender, είτε 3ds max κτλ...

 

Η διαδικασία δηλαδή ποια είναι αν και εφόσον γίνεται.

 

Ευχαριστώ.

 

Δημοσ.

http://www.eztwain.com/eztwain1.htm

 

έχω χρησιμοποιήσει αυτό το dll, με vb6. Είχα φτιάξει το fotodigitallab5. Αν και έλεγε ο κατασκευαστής ότι δεν τραβάει πολλές εικόνες στη σειρά, το είχα καταφέρει να τραβάω από film scanner.

 

υπάρχει εδώ ο κώδικας του Fotodigitallab5 https://www.dropbox.com/sh/wmtv6bk12i8jgf1/AAAT5QUZd0OwyH8Axshp8a4Ea?dl=0

και εδώ η σελίδα του: http://fotodigitalshop.com/page12.html

To πρόγραμμα είναι γραμμένο σε VB5 (παλιό αλλά δουλεύει) και το ξεκίνησα το 2002, πριν βγει το Lightroom για να το χρησιμοποιώ ως digital minilab με επαγγελματικό εκτυπωτή που τύπωνε 10Χ15 σε 6 δευτερόλεπτα, στα 600dpi dye sublimation).

 

Πάντως δεν υπάρχει κάτι εύκολο στο θέμα. Οι ρουτίνες είναι στο DC00.bas 

 

Εδώ φαίνονται σε Vb5 τα βασικά:

 

Μπορείς να επιλέξεις σαρωτή, να επιλέξεις αν θα ανοίξει το UI ή όχι, αν δεν το ανοίξεις μπορείς να καθορίσεις παραμέτρους και να σαρώσεις..το έγγραφο, ή φωτογραφία ή φιλμάκι (εγώ σάρωνα φιλμ σε καλό φιλμ σκάνερ, τραβάει και πολλαπλά καρέ) 

Για να βγάλω άκρη πώς δουλεύει διάβασα το κώδικά του.

Δες στο Form1.bas αυτό ATest_Click() να δεις τι εντολές χρειάζονται για να σαρώσει και να μπορεί να αντιμετωπίσει περιπτώσεις όπως να σταματήσει η σάρωση, ή να στέλνει πολλές σελίδες. Δουλεύει και με συσκευές που έχουν wmi οδηγό. Π.χ. μικρές βιντεοκάμερες, τις βλέπει σαν σκάνερ.

Είναι δύσκολο το θέμα για κάποιον που περιμένει μια απλή συνάρτηση του τύπου image = scan("hp1324")

Public Type TW_USERINTERFACE
   ShowUI As Integer ' boolean
   ModalUI As Integer ' boolean
   hParent As Long ' HDC
 End Type
Public Enum ConTypes
  TWON_DONTCARE8 = &HFF
 TWON_DONTCARE16 = &HFFFF
 TWON_ARRAY = 3
 TWON_ENUMERATION = 4
 twon_onevalue = 5
 TWON_RANGE = 6
 
End Enum
' Data Source ENTRY
Declare Function TWAIN_DS Lib "EZTW32.DLL" (ByVal DG As Long, ByVal DAT&, ByVal msg&, pData As Any) As Long
' Source Manager Entry
Declare Function TWAIN_Mgr Lib "EZTW32.DLL" (ByVal DG As Long, ByVal DAT&, ByVal msg&, pData As Any) As Long
' return status from each of above
Declare Function TWAIN_GetConditionCode Lib "EZTW32.DLL" () As Long
' First step
Declare Function TWAIN_LoadSourceManager Lib "EZTW32.DLL" () As Long
Declare Function TWAIN_OpenSourceManager Lib "EZTW32.DLL" (ByVal hwndApp&) As Long
Declare Function TWAIN_OpenDefaultSource Lib "EZTW32.DLL" () As Long
Declare Function TWAIN_WaitForNativeXfer Lib "EZTW32.DLL" (ByVal hwndApp&) As Long
Declare Function TWAIN_EndXfer Lib "EZTW32.DLL" () As Long

Declare Function TWAIN_EnableSource Lib "EZTW32.DLL" (ByVal hwndApp&) As Long
Declare Function TWAIN_DisableSource Lib "EZTW32.DLL" () As Long
Declare Function TWAIN_CloseSource Lib "EZTW32.DLL" () As Long
Declare Function TWAIN_CloseSourceManager Lib "EZTW32.DLL" (ByVal hwndApp&) As Long
Declare Function TWAIN_UnloadSourceManager Lib "EZTW32.DLL" () As Long
' for geting the
Public PicBr As Long, PicCon As Long, PicDef As Boolean
Declare Function TWAIN_MessageHook Lib "EZTW32.DLL" (PMsg As Any) As Long
'
Declare Function TWAIN_GetBitDepth Lib "EZTW32.DLL" () As Long
'Declare Function TWAIN_EndXfer Lib "EZTW32.DLL" () As Long

Declare Function TWAIN_GetHideUI Lib "EZTW32.DLL" () As Long
Declare Function TWAIN_GetResultCode Lib "EZTW32.DLL" () As Long
Declare Function TWAIN_IsAvailable Lib "EZTW32.DLL" () As Long
Declare Function TWAIN_State Lib "EZTW32.DLL" () As Long
Declare Function TWAIN_ModalEventLoop Lib "EZTW32.DLL" () As Long
Declare Function TWAIN_AbortAllPendingXfers Lib "EZTW32.DLL" () As Long
Declare Function TWAIN_SetCurrentPixelType Lib "EZTW32.DLL" (ByVal wPixTypes&) As Long
Declare Function TWAIN_SetCapOneValue Lib "EZTW32.DLL" (ByVal icap&, ByVal twtype&, ByVal one&) As Long
Declare Function TWAIN_NegotiateXferCount Lib "EZTW32.DLL" (ByVal nXfers&) As Long
Declare Function TWAIN_AcquireNative Lib "EZTW32.DLL" (ByVal hwndApp&, ByVal wPixTypes&) As Long
Declare Function TWAIN_FreeNative Lib "EZTW32.DLL" (ByVal HDIB&) As Long
Declare Function TWAIN_AcquireToClipboard Lib "EZTW32.DLL" (ByVal hwndApp&, ByVal wPixTypes&) As Long
Declare Function TWAIN_SelectImageSource Lib "EZTW32.DLL" (ByVal hwndApp&) As Long
Declare Function TWAIN_SetCurrentResolution Lib "EZTW32.DLL" (ByVal dRes As Double) As Long
Declare Function TWAIN_GetCurrentUnits Lib "EZTW32.DLL" () As Double
Declare Function TWAIN_GetCurrentResolution Lib "EZTW32.DLL" () As Double
'TWAIN_SetBrightness
Declare Function TWAIN_SetBrightness Lib "EZTW32.DLL" (ByVal dBr As Double) As Long
Declare Function TWAIN_SetContrast Lib "EZTW32.DLL" (ByVal dCon As Double) As Long

Declare Function TWAIN_XferMech Lib "EZTW32.DLL" () As Long
Declare Function TWAIN_GetXResolution Lib "EZTW32.DLL" () As Double
Declare Function TWAIN_GetYResolution Lib "EZTW32.DLL" () As Double
Declare Function TWAIN_SetHideUI Lib "EZTW32.DLL" (ByVal fhide As Long) As Long

Declare Function TWAIN_SetBitDepth Lib "EZTW32.DLL" (ByVal nBits As Long) As Long
Public Enum ItemType
 TWTY_INT8 = 0
 TWTY_INT16 = 1
 TWTY_INT32 = 2
 TWTY_UINT8 = 3
 TWTY_UINT16 = 4
 TWTY_UINT32 = 5
 
 TWTY_BOOL = 6
 
 TWTY_FIX32 = 7
 
 TWTY_FRAME = 8
 
 TWTY_STR32 = 9
 TWTY_STR64 = 10
 TWTY_STR128 = 11
 TWTY_STR255 = 12
End Enum
 
Public Type TW_ONEVALUE
      ItemType As Integer
      ItemLow As Integer
      ItemHigh As Integer
      End Type
Type TWON_ENUMERATION
    ItemType As Integer
    NumItemslow As Integer
    NumItemshigh As Integer
    CurrentIndexlow As Integer
    CurrentIndexhigh As Integer
    DefaultIndexlow As Integer
    DefaultIndexhigh As Integer
    itemlist(1 To 255) As Integer
End Type
 Public Type Twain_Cap
    cap As Integer
    ConType As Integer
    hContainer As Long ' use GlobalAlloc (with size of ConType)
 End Type
Δημοσ.

Αυτή είχα τότε. Και πρέπει να το ανοίξω σε Vb6 αλλά νομίζω αν θυμάμαι καλά έχει θέμα. Φαντάσου ότι για να τρέξει σε 7 έπρεπε να βάλω option explicit καινά βρω τα λάθη, τα οποία σε xp δεν έδιναν πρόβλημα ενώ σε 7..το κρέμαγαν.
Αυτό το πρόγραμμα, το fotodigitallab5 σε έκδοση 3 και 4 δούλευε σε μαγαζιά νυχτερινά γιατί όπως και το 5 έχει πολύ γρήγορη εκτύπωση. Δουλεύει με jpg και ανοίγει με υποδειγματοληψία δηλαδή μικρότερη ανάλυση, βάσει των pixels που χρειάζεται για την εκτύπωση. Το πρόγραμμα αυτό βγάζει εξάδα για πιστοποιητικό σε 10x15, φωτογραφίες διαβατηρίου και ταυτότητας. Επίσης βγάζει index card. Δοκιμασμένο χρόνια. Αν πας στη σελίδα που το έχω βάλει παραπάνω θα δεις ότι το δουλεύω σε touch screen.
Το πρόγραμμα δουλεύει με οποιαδήποτε dpi οθόνης, και πάντα η φόρμα του έχει το βέλτιστο μέγεθος. Το δούλευα σε φορητό 512Mbyte, και με touch screen σε πάγκο στο μαγαζί μου και είχα άλλο ένα στο γραφείο. Χειρίζεται την εκτύπωση μέσω εκτυπωτών δικτύου και έχει μετρητή φύλλων, και σε ειδοποιεί να αλλάξεις ρολό...ή αν έχεις δώσει λάθος αρχική τιμή φύλλων μπαίνει στην ουρά εκτύπωσης και βρίσκει την δεν έχει τυπωθεί, από το παραγγελία....Δουλεύει με παραγγελίες. Πολύπλοκο πρόγραμμα. Έχω και δικά μου φίλτρα πάνω. Αυτόματη διόρθωση...κα

 

Προσθήκη 

Το δοκίμασα σε 7 με Vb6 και ανοίγει και κάνει και compile. Αλλά δεν το έχω δοκιμάσει σε όλα για να είμαι σίγουρος ότι είναι οκ.

πάντως για δοκιμές ή για να δει κανείς την λειτουργία είναι οκ.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...