
Sources JavaConsultez toutes les sources
Nombre d'auteurs : 29, nombre de sources : 134, création le 13 avril 2013
Sommaire→Interfaces graphiques→Dessin, Java 2D, jeux, sons- Paint Revolution
- Exemple de double-buffering software
- Créer une image au format JPEG
- Exemple de Double Buffering Hardware
- Fullscreen et changement résolution écran
- Faire une capture d'écran et un redimensionement d'image
- Faire de l'écho avec JavaSound
- Effectuer des opérations de base sur une image
- Afficher une image comme composant
- Tetris
- Son
Programme permettant de dessiner des figures colorees enregistrer dans un format Jpeg.
permet dessiner à main levée
créer des figures
affichage 2D
Cet exemple met en évidence l'utilisation du double-buffering (software). Pour illustrer ceci, on met en place une simple animation qui fais défiler un texte
Cette classe permet de créer une image au format jpeg
import java.awt.*;
import java.io.*;
import java.awt.image.*;
import com.sun.image.codec.jpeg.*;
public class ScreenImage
{
public ScreenImage()
{
OutputStream out = null;
try
{
BufferedImage shot = (new Robot()).createScreenCapture(new Rectangle(0, 0, 800,600));
out = new BufferedOutputStream(new FileOutputStream("shot.jpg"));
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
encoder.encode(shot);
}
catch (Exception exc)
{
exc.printStackTrace();
}
finally
{
try
{
if (out != null)
{
out.close();
}
System.exit(0);
}
catch (Throwable t) {}
}
}
public static void main(String[] args)
{
new ScreenImage();
}
}
Cet exemple met en évidence l'utilisation du double-buffering (hardware). Pour illustrer ceci, on met en place une simple animation qui fais défiler un texte.
Ce code permet de mettre une application en fullscreen et également de changer la résolution de l'écran en choisissant une résolution parmi celles compatibles avec la carte graphique ...
Bon code ...
Voici une petite source afin de pallier au nombre de questions relative à l'encodage d'image et autre capture d'écran, ainsi que le redimensionnement d'une image ... code source de moins de 70 lignes et encore avec tous les commentaires et les headers de fichier source ...
Voici une petite source qui permet de faire faire de l'echo à partir d'un fichier son à notre bon vieux Java ! A partir de ce code vous pouvez réaliser un bon nombre d'effet sur n'importe quel fichier son : metallique, ... à vous de trouver l'effet que vous désirez créer (à condition de trouver l'algo !)
La majorité des commentaires sont en anglais (quelques uns ne sont pas finis !).
La classe main est la classe AudioFilterEchoTest et vous trouverez 2 paramètres à faire varier selon le volume et le temps de réflexion de l'echo. Un petit bug subsiste dans le son pour certains réglages ('pop' et 'click'), cela est en cour de debugage ...
java AudioFilterEchoTest pour faire foncitonner l'exemple !! Les fans de Wipeout reconnaîtrons l'extrait !
Cette classe permet d'effectuer quelques opérations de bases sur des images, comme une rotation ou calculer un histogramme.
Cette classe permet d'afficher une image comme composant (extension de JPanel). Si l'image est plus petite que l'espace à disposition, elle sera centrée; dans le cas contraire l'image sera zoomée de telle manière à s'adapter et couvrir tout l'espace disponible. Cette classe fonctionne également si l'image se trouve empaquetée dans le même fichier jar que l'application.
// Updates: 2004.07.16
import java.awt.*;
import javax.swing.*;
/**
* Displays a centered image in the available area. If the picture is too big
* (width or height), a zoom will be applied in order to show the full image.
* This class works also if the picture is in a jar file.
* @author Michel Deriaz
*/
public class Picture extends JPanel {
private Image img;
/**
* Loads the specified image, which must be a JPG, a GIF, or a PNG.
* @param file the file to load
*/
public Picture(String file) {
img = new ImageIcon(getClass().getResource(file)).getImage();
repaint();
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
if (img == null) return;
int w = img.getWidth(this);
int h = img.getHeight(this);
boolean zoom = (w > getWidth() || h > getHeight());
if (zoom) g.drawImage(img, 0, 0, getWidth(), getHeight(), this);
else g.drawImage(img, (getWidth()-w)/2, (getHeight()-h)/2, this);
}
}



