Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    PyQt5 Selezionare parte di un'immagina scalata

    Salve a tutti
    ho un'immagine che può essere ridimensionata e devo poter evidenziare un pezzo per tagliarla.
    Utilizzando PIL + una pixmap delle QT riesco perfettamente a farlo quando l'immagine è delle dimensioni normali. Tramite un painterevent disegno il rettangolo e poi passo i dati al metodo crop() calcolando i quattro parametri che chiede in base ai vertici del rettangolo.
    Ma come posso fare la stessa cosa quando l'immagine è più piccola o più grande? Se mi baso sui pixel ovviamente avrò un risultato diverso e non quello che ho selezionato.

    Come affrontereste il problema?
    I dilettanti costruirono l'Arca, i professionisti il Titanic!

  2. #2
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Ti basta calcolare i fattori di scala e moltiplicare le coordinate per i fattori di scala appropriati
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  3. #3
    Grazie, non ci avevo pensato in effetti.
    I dilettanti costruirono l'Arca, i professionisti il Titanic!

  4. #4
    Secondo te sarebbe complicato implementare un sistema di spostamento della selezione e di modifica col mouse della stessa partendo dalle classi esistenti o comunque non complicando troppo questo codice? Oppure sono funzioni che necessitano modifiche complesse?
    I dilettanti costruirono l'Arca, i professionisti il Titanic!

  5. #5
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    No, gli eventi del mouse per press move e release ti danno informazioni sufficienti.
    In ogni caso se provi a cercare su google qualcosa del genere "pyqt image viewer" probabilmente trovi del codice già scritto da cui puoi prendere spunto
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.