Witam drogich użytkowników od kilku dni borykam się z pewnym problemem i mam nadzieje że ktoś z was będzie w stanie mi pomóc.
Otóż mam zamiar wygenerować obraz najlepiej w formacie png z zawartości GLCanvasa
czyli canvasa w którym wyświetlają mi się pewne rzeczy napisane w opengl. Problem okazał sie nie być trywialny otóż pierwsze podejście jakie uczyniłem było wykorzystanie funkcji glReadPixels
czyli pobranie obrazu z bufora koloru i złożenie go w png ale efekt nie był zadowalający. Drugi pomysł to wykorzystanie tego iż GlCanvas
dziedziczy po zwykłym Canvasie
z AWT
i wyrysowanie go za pomocą metody paint()
do Graphics2D
i następnie wygenerowanie bufferedimage
i zapisanie za pomocą ImageIO
, tutaj niestety dostałem pusty ekran pomimo kilkunastu prób z różna konfiguracja. Próbowałem także generować obraz z metod GLCanvasa
takich jak volatileImage
ale to dało taki sam efekt czyli czarny obrazek. Jedyny efekt jaki udało mi się uzyskać było to zrobienie obrazka ze zrzutu ekranu wykorzystując klase Robot
ale to rozwiązanie jest raczej na moje potrzeby ostatecznością. Znacie jakieś sposoby jak można to zrobić? Z góry dzięki za odpowiedzi. w ostateczności napiszcie jak wymusić na JFrame aby zawsze był na wierzchu ;)
- Rejestracja:ponad 14 lat
- Ostatnio:około 13 lat
- Postów:15
0

- Rejestracja:około 20 lat
- Ostatnio:około 3 godziny
0
wykorzystanie funkcji glReadPixels czyli pobranie obrazu z bufora koloru i złożenie go w png ale efekt nie był zadowalający
Co to znaczy, że efekt nie był zadowalający? Na pewno wywołałeś glReadPixels po narysowaniu wszystkiego?
Poczytaj o PBuffers. Może te bufory zadziałają tak jak chcesz.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.