Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755

    Creare tante Image a partire da una immagine , come?

    Spulciando un po' tra i vari giochi , per cell e non , ho notato che è frequente trovare programmatori che "estrapolano" le immagini del gioco (consideriamole come Image) da un unico file immagine (fisico)..ma non capisco come fanno!Ovviamente non dispongo dei sorgenti altrimenti scoverei la parte che mi interessa
    Bene , probabilmente non sono stato molto chiaro quindi cercherò di spiegarlo con un esempio pratico:
    supponiamo di avere la seguente immagine (file JPG):
    insiemeCarte.jpg

    come posso estrapolare , tramite codice java , le singole carte?
    Cioè vorrei , ad esempio , avere il 5 di denari sottoforma di Image..come si fa?Deve esserci una qualche procedura che non conosco..
    Grazie per l'aiuto!

    EDIT:
    -creare una BufferedImage con l'immagine d'insieme
    -estrarre le carte come BufferedImage tramite getSubimage (int x , int y , int w , int h)
    Forse ho trovato una possibile procedura , no?
    Ultima modifica di zipangulu; 02-11-2013 a 17:52

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da zipangulu Visualizza il messaggio
    come posso estrapolare , tramite codice java , le singole carte?
    Cioè vorrei , ad esempio , avere il 5 di denari sottoforma di Image..come si fa?Deve esserci una qualche procedura che non conosco..
    1) Se si usa il "custom" painting in componente (es. estensione di JComponent o JPanel) in java.awt.Graphics ci sono svariati drawImage tra cui quelli per disegnare solo una porzione del Image.

    oppure

    2) BufferedImage ha il metodo getSubimage.

    oppure

    3) Creare una nuova immagine, nuovo BufferedImage o magari (per maggiori performance) una nuova immagine "compatibile" con il color-model/data-layout dello schermo (vedere createCompatibleImage di GraphicsConfiguration) e poi disegnarci sopra la porzione di immagine come in 1)
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755
    Grazie andbin per la risposta!
    Un altro dubbio , un po' "off-topic" ma non penso valga la pena aprire una nuova discussione.
    Ottenuta una immagine di una carta come sopra detto(Image o BufferedImage che essa sia) come è possibile arrotondare gli spigoli in modo da avere la forma tipica delle carte napoletane (non quindi la forma di rettangolo squadrato)?

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da zipangulu Visualizza il messaggio
    Ottenuta una immagine di una carta come sopra detto(Image o BufferedImage che essa sia) come è possibile arrotondare gli spigoli in modo da avere la forma tipica delle carte napoletane (non quindi la forma di rettangolo squadrato)?
    Innanzitutto dalla immagine che hai postato, si vede bene che le varie carte sono proprio solo il contenuto rettangolare e basta. Cioè non hanno alcun bordino o decorazione particolare attorno.
    Questo puoi farlo tu creando (con un programma di grafica) una immagine un po' più grande che contiene bordo e/o decorazioni e che fa uso della semi-trasparenza, ovvero del canale "alpha", in modo da avere bordi arrotondati con anti-aliasing e che "sfumano" nella trasparenza (ok, spero di essermi spiegato).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.