Płynny zoom dużego obrazka
-
- Posty: 72
- Rejestracja: 09 sty 2006 00:00
- Wersja środowiska: LabVIEW 2011
- Lokalizacja: Gliwice
Płynny zoom dużego obrazka
Od jakiegoś czasu siedzę nad problemem zrobienia prostego okienka z małym jpg które po kliknięciu rozszerzyło by się PŁYNNIE (coś w stylu animacji na IPhone) na pełny ekran. Problem w tym że nie mogę tego zrobić w LV. Próbowałem już wieeeelu różnych rozwiązań. Od zwykłych dekorów, poprzez wykorzystanie picture i IMAQ ale bez rezultatu Problem w tym, że obrazek wyjściowy np 450x253px24b musi się powiększyć w ciągu np 1sek. na pełny ekran do np 1920x1080x24b tworząc coś w rodzaju płynnego (animowanego) otwarcia programu. Wszystko co wypróbowałem, albo ma problem z zoomem obrazka albo jest za wolne i widać skoki przy powiększaniu. Może ktoś z was ma jakiś ciekawy pomysł? A może w ogóle do tego podejść z jakiejś innej strony?
CLAD, LabVIEW 6.0 -> LabVIEW 2013
- Bluesheep
- Posty: 14
- Rejestracja: 16 sty 2013 21:08
- Wersja środowiska: LabVIEW 2013
- Lokalizacja: Kraków
Re: Płynny zoom dużego obrazka
Hej!
Mam pewna propozycję: stwórz sześcian (3D picture Control), będzie się wyświetlał jako kwadrat. Wrzuć na niego jako teksturę swój obrazek, a potem z pomocą shift register powiększaj wymiary sześcianu do oczekiwanych.
Mi to działa, ale nie wiem jak bardzo chcesz żeby "nie zacinało".
Pozdrawiam
Mam pewna propozycję: stwórz sześcian (3D picture Control), będzie się wyświetlał jako kwadrat. Wrzuć na niego jako teksturę swój obrazek, a potem z pomocą shift register powiększaj wymiary sześcianu do oczekiwanych.
Mi to działa, ale nie wiem jak bardzo chcesz żeby "nie zacinało".
Pozdrawiam
Re: Płynny zoom dużego obrazka
Czy rozmiar Front Panel'u ma się zwiększać jednocześnie z obrazkiem?
Jeśli tak, to można to zrobić np. z użyciem 2D Picture i zwiększać proporcjonalnie rozmiar okna wraz z zoomem obrazka (w załączniku VI + obrazek na którym sprawdzałam czy działa). Działa to jednak dosyć wolno więc podejrzewam, że tą wersję już wcześniej skreśliłeś.
Jest więc inna opcja wymagająca więcej zabawy - możesz użyć Picture Ring i wrzucić do niego kolejno powiększone obrazki (np. 200) i w pętli for do Picture Ring podłączyć iterator pętli. Jakby się uprzeć to można zmusić LabView to powiększania i zapisywania obrazków do pliku, które potem wczytasz. Co do zmiany rozmiaru Front Panelu, to można to trochę oszukać - zamiast je zwiększać można ustawić tło Front Panel'u na przeźroczyste. W załączniku przykład ze strony NI jak się takie cuda robi.
Jeśli tak, to można to zrobić np. z użyciem 2D Picture i zwiększać proporcjonalnie rozmiar okna wraz z zoomem obrazka (w załączniku VI + obrazek na którym sprawdzałam czy działa). Działa to jednak dosyć wolno więc podejrzewam, że tą wersję już wcześniej skreśliłeś.
Jest więc inna opcja wymagająca więcej zabawy - możesz użyć Picture Ring i wrzucić do niego kolejno powiększone obrazki (np. 200) i w pętli for do Picture Ring podłączyć iterator pętli. Jakby się uprzeć to można zmusić LabView to powiększania i zapisywania obrazków do pliku, które potem wczytasz. Co do zmiany rozmiaru Front Panelu, to można to trochę oszukać - zamiast je zwiększać można ustawić tło Front Panel'u na przeźroczyste. W załączniku przykład ze strony NI jak się takie cuda robi.
- Załączniki
-
- Shaped Window.zip
- Brak tła Front Panel'u
- (527.52 KiB) Pobrany 584 razy
-
- Obrazek do zoom'owania :)
- mops.jpg (32.75 KiB) Przejrzano 12699 razy
-
- ZoomImage.vi
- (11.35 KiB) Pobrany 640 razy
-
- Posty: 72
- Rejestracja: 09 sty 2006 00:00
- Wersja środowiska: LabVIEW 2011
- Lokalizacja: Gliwice
Re: Płynny zoom dużego obrazka
Dzięki za szybkie podpowiedzi. Picture już przerabiałem. Niestety dla moich potrzeb jest o wiele za wolny. Tak jak pisałem obrazek musi się zmieniać "wyjeżdżając" z małego obrazka do pełnego ekranu w HD, czyli musi się zmieniać i wysokość czy szerokość ale i także Left i Top. Niestety aby było to płynne zużywa strasznie dużo mocy procesora a i tak widać "skoki" i niedoskonałości przesuwu. Zresztą można to zobaczyć na tym przykładzie załączonym przez Górasa (dzięki wielkie ) zwiększając końcowy rozmiar obrazka. Zaczyna się nieprzyjemne dla oka "skakanie". Z przeźroczystościami też próbowałem. Męczyłem też subpanele i IMAQ.Wszędzie problem z płynnością głównie przez zmianę wielkości obrazka. W tym ostatnim znowu był jeszcze problem z zoomem. Picture Ring odpada bo ilość bitmap do zrobienia jest za duża. Nie dość że musiałoby ich być kilkadziesiąt dla każdego menu to jeszcze takich klikanych menu jest w moim projekcie też kilkanaście. A także i tutaj jest problem z przesuwaniem left i top kontrolki.
Ale duże piwo dla Bluesheep za pomysł z 3D. Robię takie niby menu oparte o "animacje" i myślę że to rozwiązanie może pomóc a nawet ulepszyć moje rozwiązanie. Pytanie tylko czy w trakcie prac coś jeszcze nie wyjdzie... Ciekawe czy da się nałożyć teksturę na każdą ścianę osobno. Bo można by zrobić trójwymiarowe menu. Nie robiłem jeszcze nic z 3D i nie wiem czego się można spodziewać. Dam znać jak poszło.
Ale duże piwo dla Bluesheep za pomysł z 3D. Robię takie niby menu oparte o "animacje" i myślę że to rozwiązanie może pomóc a nawet ulepszyć moje rozwiązanie. Pytanie tylko czy w trakcie prac coś jeszcze nie wyjdzie... Ciekawe czy da się nałożyć teksturę na każdą ścianę osobno. Bo można by zrobić trójwymiarowe menu. Nie robiłem jeszcze nic z 3D i nie wiem czego się można spodziewać. Dam znać jak poszło.
CLAD, LabVIEW 6.0 -> LabVIEW 2013
-
- Posty: 72
- Rejestracja: 09 sty 2006 00:00
- Wersja środowiska: LabVIEW 2011
- Lokalizacja: Gliwice
Re: Płynny zoom dużego obrazka
CLAD, LabVIEW 6.0 -> LabVIEW 2013
- wino
- Posty: 549
- Rejestracja: 23 gru 2005 00:00
- Wersja środowiska: Nie mam LabVIEW
- Lokalizacja: Kraków
Re: Płynny zoom dużego obrazka
Siema,
Jak chcesz płynności, to spróbuj ruszać "kamerą" nie obrazem jest zdeczka płynniej. Oczywiście mowa o 3d Picture.
Jak chcesz płynności, to spróbuj ruszać "kamerą" nie obrazem jest zdeczka płynniej. Oczywiście mowa o 3d Picture.
-
- Posty: 72
- Rejestracja: 09 sty 2006 00:00
- Wersja środowiska: LabVIEW 2011
- Lokalizacja: Gliwice
Re: Płynny zoom dużego obrazka
No i znowu problem... Wszystko pięknie działa na 3d picture ale ... W mojej aplikacji oprócz ruszającego się sześcianu na pierwszym planie, powinno być także tło. I tu jest problem bo jak zrobić nieruchome tło w 3d picture??? Chodzi o to aby przy ruszaniu kamerą (za pomocą myszki) tło jakiegoś obiektu się nie ruszało. Zrobiłem tutaj dwa przykładowe obiekty z których jeden ma się ruszać (być obracany przez użytkownika) a drugi nie (to by było właśnie to tło). Nie wiem czy da się jakoś rozdzielić sceny lub coś w 3D Picture? Albo może ktoś wie jak przeliczyć przesuw myszki (Coords) na obrót osi (XYZi Angle do 3d Picture)? Wszelkie pomysły mile widziane. A swoją drogą to jakieś to LV nie elastyczne... Gdzie sie chce wyjść poza standardowe zastosowania to coś brakuje...
CLAD, LabVIEW 6.0 -> LabVIEW 2013