Disegnare su immagine

di il
14 risposte

Disegnare su immagine

Salve a tutti... ho cercato nel forum, ma non ho trovato nulla in merito
Premettendo che ho poca dimestichezza con Access, volevo chiedere un grosso aiuto.
Ho la necessità (in un database access) di far comparire un'immagine (sempre la stessa) in ogni nuovo record di una maschera. In questa immagine dovrei tracciare dei segni personalizzati per ogni record e salvare la relativa immagine con i segni tracciati (ogni record avrà quindi la foto personalizzata con i segni che ho tracciato)... esiste un modo per farlo?
Forse non sono stato chiaro, ma vi ringrazio per ogni aiuto che mi darete.
A presto

14 Risposte

  • Re: Disegnare su immagine

    La tua richiesta va analizzata perchè di fatto contiene concetti che forse sono dati per scontato... e lasciano perplessi...!

    La premessa tuttavia è che se NON HAI una buona autonomia con VBA ed Access non sarà una passeggiata.

    Prima di tutto se consideriamo veramente di DISEGNARE nelle singole Immagini di Ogni Records significa che poi serve SALVARE ogni singola immagine per ogni Record... e già questo dovrebbe farti venire qualche sospetto sulla scelta tecnica.

    In ogni caso questo con Access è cosa per SUPER ESPERTI.
    Non dico che non è fattibile perchè nella realtà lo è, ma credimi dal momento che so esattamente di cosa si parla avendolo fatto, non è alla portata di tutti gli sviluppatori di Access.
    Richiede il massiccio uso di API grafiche con le complicazioni di dover lavorare in Memoria non disponendo di un Ogetto grafico come poteva essere un Oggetto PictureBox in VB6.
    Chi sviluppava in VB6 infatti poteva impacchettare un OCX riadattato per Access contenente la PictureBox e con relativamente poco impegno risolveva.
    Altrimenti devi appoggiarti a controlli esterni a pagamento specifici per Access, ce ne sono pochi e costano diverse centiaia di €.

    Altra cosa invece è se la tua esigenza è riconducibile a SEMPLICI LINEE definite in Numero e tipo(rette).
    In questo caso le opportunità sono diverse ed anche decisamente semplici, ma serve pur sempre avere un po di dimestichezza e un minimo di visione del sistema.

    In sostanza, se devi disegnare o applicare 3 o 4(N) Linee, le si inserisce nella Form in modalità Struttura e si consente di APPLICARLE a Runtime e memmorizzarne le coordinate relative(al controllo Immagine).
    Memorizzate le coordinate, riposizioinarle ogni volta diventa una passeggiata su Evento CURRENT.

    Anche se questa opzione sembra contorta(non lo è affatto), riflettici bene in quanto è probabilmente l'unica che potrai applicare.

    Facci sapere.
  • Re: Disegnare su immagine

    Grazie della risposta Alex...
    infatti a me servirebbe la cosa più complicata...
    sto realizzando un database di pazienti per trasferire la cartella clinica nel database. Attualmente io utilizzo una stampa di un'immagine stilizzata delle gambe e traccio a penna su di essa i problemi riscontrati dal punto di vista vascolare (quindi disegno a mano libera e non rette). Vorrei poter fare la stessa cosa nel database e salvare le immagini in una cartella del pc (se fosse complicatissimo salvarli nel database stesso) con il nome del paziente.
    Grazie ancora per la risposta
  • Re: Disegnare su immagine

    Probabilmente la miglior soluzione è che lo commissioni ad un professionista (anche Alex se disponibile), dopo aver valutato un compenso adeguato.
  • Re: Disegnare su immagine

    Grazie... prenderò in esame anche questa soluzione
  • Re: Disegnare su immagine

    robertocolucci ha scritto:


    Grazie della risposta Alex...
    infatti a me servirebbe la cosa più complicata...
    sto realizzando un database di pazienti per trasferire la cartella clinica nel database. Attualmente io utilizzo una stampa di un'immagine stilizzata delle gambe e traccio a penna su di essa i problemi riscontrati dal punto di vista vascolare (quindi disegno a mano libera e non rette). Vorrei poter fare la stessa cosa nel database e salvare le immagini in una cartella del pc (se fosse complicatissimo salvarli nel database stesso) con il nome del paziente.
    Grazie ancora per la risposta
    Purtroppo con Access questa cosa risulta veramente poco probabile anche avendo OTTIME conoscenze...
    Ti suggerirei la soluzione di LEBANS che emula una Picturebox ma oltre a non essere di utilizzo immediato... Non è facilmente adattabile a 64bit... ed il codice di LEBANS è decisamente borderline e per molti.. fuori portata.
    Credo sia decisamente un lavoro da affrontare con altri strumenti... magari Vb.NET ma sempre avendo discrete basi.
  • Re: Disegnare su immagine

    Grazie.... dove trovo la soluzione di Lebans? Ho cercato nel forum ma non l'ho trovata
  • Re: Disegnare su immagine

    robertocolucci ha scritto:


    Grazie.... dove trovo la soluzione di Lebans? Ho cercato nel forum ma non l'ho trovata
    Nel web...
    http://www.lebans.com/imageclass.ht
    Non so se compatibile con versioni recenti.
  • Re: Disegnare su immagine

    Grazie mille
  • Re: Disegnare su immagine

    Puoi valutare (viste le difficoltà ad integrare la grafica in Access) a suddividere il progetto in due componenti.
    In uno, con Access, ove ci si occupi del database, in modo da gestire le informazioni sulle immagini trattate; mentre quando si debba operare con l'inserimento degli elementi grafici ci si appoggia ad uno specifico applicativo in grado di offrire le funzionalità specifiche (pennello, ingrandimento, riempimento, figure, forme, ecc.) in modo che la immagine originale possa essere (in base al nome del file) memorizzata in Access, quindi copiata e fornita allo specifico applicativo grafico ove sarà adattata a mano libera (con i vari segni personalizzati) ed infine salvata (di nuovo in Access) al fine di avere visione delle variazioni/integrazioni apportate.
  • Re: Disegnare su immagine

    Grazie Willy... mi sembra un'ottima soluzione... hai degli esempi a cui poter fare riferimento
  • Re: Disegnare su immagine

    Attenzione a quando valutiamo di spezzare in 2 le competenze, è sicuramente una possibilità l'importante è che tu abbia anche la visione dei contro... perchè dire che è un'ottima soluzione... potrebbe poi rivelarsi un grande BOOMERANG... quindi ti suggerirei quanto meno una corretta riflessione del compromesso, perchè di questo si sta parlando...!

    E' evidente che stiamo parlando di 2 SW che tecnicamente non dialogano tra loro perchè fanno 2 cose diverse... uno Archivia e gestisce, l'altro è un Editor Grafico, se parlassimo di SW che interagiscono, servirebbe scrivere codice e routine per farlo... a quel punto tanto varrebbe usare OCX o LIB esterbe quanto meno con un'interfaccia COM sarebbero gestibili.

    Ti faccio pertanto un esempio semplice per farti capire un primo "problema".
    Un SW già installato, comodo per editare le immagini ad esempio è PAINT.
    Quindi da Access, salvi una copia dell'immagine in una Cartella predisposta, ed apri via SHELL il nostro PAINT direttamente sull'immagine... questo è estremamente semplice da realizzare.
    Poi l'utente disegna, ma invece di salvare e chiudere, salva con nome e salva sul DeskTop.

    In questo caso tu NON AVRAI MAI modo di sapere se e cosa ha fatto l'utente.
    Potrai eventualmente delegare ad Access l'associazione dell'Immagine al Record in modo non completamente AUTOMATICO, ma in modo manuale ovviamente usando il FileDialog per consentire la selezione del File Immagine che l'utente ha EDITATO ed a quel punto validi una volta Visualizzato il file e registrata la connessione a quest'ultimo.

    Valuta quindi BENE che dovrai mettere in piedi tutta una serie di ragionamenti...
  • Re: Disegnare su immagine

    Io concordo con la linea di pensiero di willy. In questo forum si parla solo di Access. Qui possiamo solo dire come gestire o far chiamare le immagini (esterne) da Access. Una via è quella API (accennata inizialmente da @Alex). Altra soluzione potrebbe essere l'istruzione in VBA
    Application.FollowHyperlink
    con tutte le sue proprietà per fare riferimento al path corrispondente all'immagine, quindi aprire il file immagine, quindi eventualmente "ritoccarlo/modificarlo", quindi salvarlo.

    Per tutto ciò che riguarda i "ritocchi immagine", non è compito di Access.
  • Re: Disegnare su immagine

    Siete estremamente gentili e cercherò di studiare le vostre risposte che ad un neofita come me appaiono complicate... a rei bisogno di esempi, ma se non potete (immagino sia cosa complicata) non fa nulla... intanto mi analizzo bene le risposte e se me lo consentite vi chiedo delucidazioni.... grazie ancora di cuore
  • Re: Disegnare su immagine

    L'opportunità di suddividere il processo in due componenti (Access per la gestione dei file delle immagini e programma grafico per la sua manipolazione) è una possibilità viste le premesse:

    robertocolucci ha scritto:


    Premettendo che ho poca dimestichezza con Access
    E' chiaro che essendo due specifici applicativi non si avrà un controllo di uno sull'altro.
    Si può cercare, comunque, di avere (per quanto possibile) dei punti di verifica in base al flusso delle operazioni da assicurare.
    Ad esempio si può (in Access) prendere a riferimento i dati caratteristici della immagine originale e fornirla al programma di manipolazione grafica quindi confrontarla (al termine) con quanto viene restituito del trattamento (nella data ed occupazione) in modo da controllare se sono state apportate variazioni.
    In tal caso l'utente potrà anche salvare su posizione diversa ma il programma di gestione non assicurerà le immagini che escono dal flusso logico predisposto.

    Certo se si vuole un controllo mirato e si intende realizzare un unico applicativo si deve valutare l'impiego di componenti aggiuntivi che offrano, in VBA, le medesime funzionalità del programma grafico di manipolazione.
    In tal caso è richiesta una padronanza del linguaggio, ma viste le premesse, come indicato precedentemente, si può cercare di acquisirle solo per gradi e magari si può partire proprio con un programma semplice come MS-Paint (il quale non espone una interfaccia di automazione pilotabile dall'esterno) per cui si tratta solo di attivare il programma e fornire il nome del file:
    https://www.experts-exchange.com/questions/24284301/ms-paint-to-capture-signatures.html
    https://www.pcreview.co.uk/threads/re-vba-using-shell-to-open-a-jpg-file-in-ms-paint.3837282/
    https://bytes.com/topic/access/answers/840048-how-execute-mspaint-open-file
    https://www.office-forums.com/threads/vba-using-shell-to-open-a-jpg-file-in-ms-paint.678793/
    http://www.modulesdaovba.info/VBA_using_Shell_to_open_a_jpg_file_in_MS_Paint.html
    http://www.xtremevbtalk.com/word-powerpoint-outlook-and-other-office-products/74374-vba-paint-save-file.html
    https://www.developpez.net/forums/d521796/logiciels/microsoft-office/excel/macros-vba-excel/vba-ouvrir-jpg-gif-etc-dont-nom-contient-espace-mspaint/

    In ogni caso visto che si parla di ambito medicale è anche da valutare se le immagini debbano soddisfare degli standard come il DICOM (Digital Imaging and COmmunications in Medicine) atto a codificare le immagini e comunicazioni digitali in medicina il quale definisce i criteri per la comunicazione, la visualizzazione, l'archiviazione e la stampa di informazioni di tipo biomedico (come ad esempio esami radiologici RX, RM, TAC).
    In tale ambito esistono specifici applicativi in grado di supportare questo standard:
    https://it.wikipedia.org/wiki/DICO
    https://2ra5-scaricare.phpnuke.org/it/c95984/dicom-viewer-medical-image-tool
    http://abtechno.org/index.php/2016/10/20/medical_image_viewer_immagini_dicom
Devi accedere o registrarti per scrivere nel forum
14 risposte