|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.12.2012, 15:11 | #1 |
Регистрация: 29.12.2008
Сообщений: 8
|
Апплет
Всем привет.
Был дан исходный код апплета,где загружалась картинка и несколько кнопок,при нажатии на кнопки срабатывали некоторые фильтры(sharpen,grayscale, и тд). Мне же нужно с помощью CropImageFilter вырезать лица, чтобы при нажатии на кнопки, эти лица выводились на экран. Сам класс работает, но вот прицепить его к исходнику у меня не получается( вот один из кропов import java.applet.*; import java.awt.*; import java.awt.image.*; public class Crop extends Applet { Image i, j; public void init () { MediaTracker mt = new MediaTracker (this); i = getImage (getDocumentBase(), "beatles1.jpg"); mt.addImage (i, 0); try { mt.waitForAll(); int width = i.getWidth(this); int height = i. getHeight(this); j = createImage (new FilteredImageSource (i.getSource(), new CropImageFilter (60, 50, 150, 150))); } catch (InterruptedException e) { e.printStackTrace(); } } public void paint (Graphics g) { if (j != null) { g.drawImage (j, 150, 150, this); // cropped } } } а вот исходники,в которые это все нужно запилить: ImageFilterDemo import java.applet.*; import java.awt.*; import java.awt.event.*; import java.util.*; public class ImageFilterDemo extends Applet implements ActionListener { Image img; PlugInFilter pif; Image fimg; Image curImg; LoadedImage lim; Label lab; Button reset; public void init() { setLayout (new BorderLayout()); Panel p = new Panel(); add(p, BorderLayout.SOUTH); reset = new Button("Reset"); reset.addActionListener(this); p.add(reset); StringTokenizer st = new StringTokenizer(getParameter("filte rs"), "+"); while(st.hasMoreTokens()) { Button b = new Button(st.nextToken()); b.addActionListener(this); p.add(b); } lab = new Label(""); add(lab, BorderLayout.NORTH); img = getImage(getDocumentBase(), getParameter("img")); lim = new LoadedImage(img); add(lim, BorderLayout.CENTER); } public void actionPerformed(ActionEvent ae) { String a = ""; try { a = (String)ae.getActionCommand(); if (a.equals("Reset")) { lim.set(img); lab.setText("Normal"); } else { pif = (PlugInFilter) Class.forName(a).newInstance(); fimg = pif.filter(this,img); lim.set(fimg); lab.setText("Filtered: " + a); } repaint(); } catch (ClassNotFoundException e) { lab.setText(a+ "not found"); lim.set(img); repaint(); } catch (InstantiationException e) { lab.setText("couldn't new" +a); } catch(IllegalAccessException e) { lab.setText("no access: " + a); } } } ImageFilterDemo.html <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <div>TODO write content</div> <applet code=ImageFilterDemo width=400 height=417> <param name=img value=beatles1.jpg> <param name=filters value="Crop+Crop2+Crop3+Crop4"> </applet> </body> </html> LoadedImage import java.awt.*; public class LoadedImage extends Canvas { Image img; public LoadedImage(Image i) { set(i); } void set(Image i) { MediaTracker mt = new MediaTracker(this); mt.addImage(i, 0); try { mt.waitForAll(); } catch (InterruptedException e) { }; img = i; repaint(); } public void paint(Graphics g) { if (img==null) { g.drawString("no image", 10, 30); } else { g.drawImage(img, 0, 0, this); } } public Dimension getPreferredSize() { return new Dimension(img.getWidth(this), img.getHeight(this)); } public Dimension getMinimumSize() { return getPreferredSize(); } } PlugInFilter interface PlugInFilter { java.awt.Image filter(java.applet.Applet a, java.awt.Image in); } ну и картинка |
09.12.2012, 15:12 | #2 |
Регистрация: 29.12.2008
Сообщений: 8
|
то есть,нужно переделать Crop,чтобы он работал в данном приложении.
буду очень признателен за любую помощь |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Java. Апплет. События. | Garry@'' | Помощь студентам | 0 | 25.10.2012 12:40 |
не отображает апплет | legendary | Общие вопросы по Java, Java SE, Kotlin | 2 | 10.06.2012 19:29 |
Апплет на Ubuntu | makashello | Linux (Ubuntu, Debian, Red Hat, CentOS, Mint) | 1 | 04.10.2011 16:56 |
Многопоточной апплет | J.Bond | Помощь студентам | 0 | 23.11.2010 09:06 |
Апплет из приложения | Dim2 | Общие вопросы по Java, Java SE, Kotlin | 1 | 08.05.2010 09:11 |