Plan Prezentacji Wczytywanie grafiki Wyświetlanie obrazów

Slides:



Advertisements
Podobne prezentacje
Rysowanie w Java void drawString(String tekst, pozX, pozY)
Advertisements

Wstęp do strumieni danych
Java dla studentów II roku Wydziału Fizyki PW Przemysław Duda, 2012
Mgr inż.Marcin Borkowski Podstawy Java Krótkie wprowadzenie dla studentów Wyższej Szkoły Ekologii i Zarządzania
Programowanie obiektowe
Programowanie obiektowe
Programowanie obiektowe
Programowanie obiektowe Andrzej Ziółkowski Wykład 3.
Rysowanie GUI Określanie wyglądu komponentów
Tworzenie i obsługa programów – przykład 3 uwagi cd. Wykorzystując różne klasy biblioteki języka Java należy pamiętać w jakim pakiecie się znajdują. Wszystkie.
Java applet (c.d.) Nguyen Hung Son Uniwersytet Warszawski.
Programowanie Obiektowe w Javie (c.d.)
Nguyen Hung Son Uniwersytet Warszawski
Podstawy języka Java Nguyen Hung Son Uniwersytet Warszawski.
Wzorce projektowe Paweł Ciach.
Model – View - Controler
ELEMENTY SKŁADOWE JEDNOSTKI CENTRALNEJ
Jędrzej Jajor Marcin Zienkowicz
Widoki.
Podstawy informatyki Rekurencja i rekurencja Grupa: 1A
Projektowanie interfejsu Pakiet AWT, komponenty i kontenery, klasa Component, metody klasy Component, klasa Label, komponenty tekstowe, klasa TextField,
Programowanie wielowątkowe
Multimedia Obrazy i dźwięki w apletach Javy, praca z tekstem, zdarzenia od myszki, obsługa wyjątków w Javie, aplety z wątkami, animacja poklatkowa.
Programowanie sieciowe w Javie
Gniazda komunikacji sieciowej w języku Java
1 Podstawy apletów Co to jest aplet, cykl życia apletu, metody apletu, metoda paint(), czcionki, kolory, parametryzowanie apletu, układ współrzędnych ekranowych,
Czytanie, pisanie i rysowanie – cd.. Jeszcze jeden strumyk PrintStream działa jak PrintWriter, ale: Używa domyślnego (systemowego) kodowania Nie wyrzuca.
Czytanie, pisanie i rysowanie (czyli klasa I szkoły podstawowej)
Tablice tablica jest sekwencją elementów tego samego typu (prostego lub obiektowego) w Javie tablice są obiektami, a zmienne tablicowe przechowują referencję
Język Java Wielowątkowość.
Ekran startowy Microsoft Windows Gdy Windows 1.x startuje, uruchamia aplikację o nazwie MS-DOS Executive. Jest to pewien rodzaj Menadżera plików.
przygotował Michał Wdaniec
Pakiety w Javie Łukasz Smyczyński (132834). Czym są pakiety? Klasy w Javie są grupowane w pewne zbiory zwane pakietami. Pakiety są więc pewnym podzbiorem.
Java 3 MPDI Programowanie obiektowe W7. import java.io.*; public class X { // kontrukcja throws – określenie jakie wyjątki może dana metoda // sygnalizować
Tadeusz Ziębakowski Zachodniopomorski Uniwersytet Technologiczny.
Podstawy programowania II
Aplety w javie.
Programowanie obiektowe
Tworzenie aplikacji mobilnych
Tworzenie aplikacji mobilnych
Programowanie obiektowe – zastosowanie języka Java SE
JAVA c.d.. Instrukcji wyboru SWITCH używamy, jeśli chcemy w zależności od wartości pewnego wyrażenia wykonać jeden z kilku fragmentów kodu. Jest to w.
Andrzej Repak Nr albumu
Seminarium problemowe
Systemy wejścia i wyjścia Michał Wrona. Co to jest system wejścia i wyjścia? Pobierania informacji ze źródeł danych, zdolnych przesyłać sekwencje bajtów,
Co jeszcze mógłby wymyślić Einstein gdyby znał applety Javy? Dolnośląski Festiwal Nauki i Techniki Wrocław 2005.
Łódź, 3 października 2013 r. Katedra Analizy Nieliniowej, WMiI UŁ Podstawy Programowania Programy różne w C++
Programowanie obiektowe Wykład 7 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20 Dariusz Wardowski.
Programowanie obiektowe Wykład 6 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/14 Dariusz Wardowski.
Programowanie komponentowe jesień-zima 2013
1 Strumienie Hierarchie klas strumieniowych, strumienie bajtowe - klasy InputStream i OutputStream i ich metody, klasa File, strumienie plikowe, strumienie.
  ELEMENTY JĘZYKA JAVA komentarze w Javie, słowa kluczowe i operatory, proste typy danych, tablice, podstawowy zestaw instrukcji.
Programowanie sieciowe w Javie
OCPJP Inner classes.
Temat 9: Obrazy i multimedia
Temat 5: Instrukcje: print(), echo()
Programowanie sieciowe w Javie Michał Kuciapski
Model współbieżności w Javie autor: Grzegorz Szuba.
Model współbieżności w Javie
Object-relational mapping (aka O/RM, ORM, and O/R mapping)
Multimedia w HTML5 Statyczne witryny internetowe 2TIa Marek Kwiatkowski.
Strumienie w języku Java Bartosz Walter InMoST Wielkopolska sieć współpracy w zakresie innowacyjnych metod wytwarzania oprogramowania Termin realizacji:
InMoST, Java – przykładowa aplikacja Bartosz.Michalik
Strumienie, Wczytywanie, Zapisywanie, Operacje na plikach
Wątki, programowanie współbieżne
(według:
Programowanie obiektowe – zastosowanie języka Java SE
PGO Interfejsy Michail Mokkas.
Korzystanie z wirtualnego dysku OneDrive
Tworzenie wątków w Javie
Zapis prezentacji:

Plan Prezentacji Wczytywanie grafiki Wyświetlanie obrazów Podwójne buforowanie, Dźwięki w apletach Wątki i procesy Stany wątku Klasa Thread Synchronizacja i priorytety wątków Obsługa wyjątków

Wczytywanie grafiki Obrazy zapisane w postaci plików na dysku lub w Internecie można wczytać do aplikacji w Javie i wyświetlić na obiektach Graphics. Jeśli obraz znajduje się na dysku lokalnym, należy zastosować poniższą procedurę: String filename = "...": Image image = lmageI0.read(new File(filename)):

Wczytywanie grafiki W przypadku obrazu z adresu URL: String urlname = "..." Image image = ImageI0.read(new URL(urlname)): Metoda read powoduje wyjątek l0Excepti on, jeśli obraz jest niedostępny.

Wyświetlanie obrazów Aby wyświetlić obraz, można skorzystać z metody: boolean drawImage(Image img, int x, int y, ImageObserver observer) Rysuje obraz w naturalnym rozmiarze.

Wyświetlanie obrazów Lub: boolean drawImage(Image img, int x, int y, int width, int height, ImageObserver observer) Rysuje obraz o zmienionych wymiarach. System dopasowuje rozmiar obrazu do obszaru o podanej szerokości i wysokości

Przykład import java.awt.*; import java.applet.*; public class ImageExample extends Applet {      Image moj_obraz;      moj_obraz = getImage(base,"przyklad.jpg"); public void paint(Graphics g)       {           g.drawImage(my_gif,20,20,this);           g.drawImage(my_gif,20,140,30,40,this);      } }

Podwójne buforowanie Wykonywanie wielu operacji graficznych może spowodować, że obraz będzie migotał. Aby tego uniknąć można zastosować technikę zwaną podwójnym buforowaniem. Polega ona na tym, aby zawartość okna najpierw narysować na obrazie(obiekcie typu Image) umieszczonym wpamięci, a następnie cały obraz przenieść na ekran.

Przykład import java.applet.*; import java.awt.event.*; import java.awt.*; public class DoubleBuffering extends Applet implements MouseMotionListener { Graphics bufferGraphics; Image offscreen; Dimension dim; int curX, curY; public void init() dim = getSize(); addMouseMotionListener(this); setBackground(Color.black); offscreen = createImage(dim.width,dim.height); bufferGraphics = offscreen.getGraphics(); }

Przykład cd. public void paint(Graphics g) { bufferGraphics.clearRect(0,0,dim.width,dim.width); bufferGraphics.setColor(Color.red); bufferGraphics.drawString("Double-buffered",10,10); bufferGraphics.fillRect(curX,curY,20,20); g.drawImage(offscreen,0,0,this); } public void update(Graphics g) paint(g); public void mouseMoved(MouseEvent evt) curX = evt.getX(); curY = evt.getY(); repaint(); public void mouseDragged(MouseEvent evt){}

Przykład cd. http://sirius.cs.put.poznan.pl/~inf100260/applets/

Dźwięki import java.applet.*; import java.awt.event.*; public class PrzykladowyDzwiek extends Applet implements MouseListener { AudioClip dzwiek; public void init() dzwiek = getAudioClip(getDocumentBase(),"pliczek.wav"); addMouseListener(this); setBackground(Color.pink); } public void paint(Graphics g) g.drawString("Kliknij by usłyszeć dzwięk",20,20); public void mouseClicked(MouseEvent evt) dzwiek.play(); } // Oczywiście trzeba dodać jeszcze niezbędne metody obsługi kliknięć

Dźwięki Klasa AudioClip dostarcza następujące metody: public abstract void play()  - zagranie dźwięku raz public abstract void loop()  - granie w pętli public abstract void stop()  - zatrzymanie grania dźwięku