Strona 1 z 1
Płynny zoom dużego obrazka
: 09 lut 2013 11:43
autor: mikema72
Re: Płynny zoom dużego obrazka
: 09 lut 2013 14:44
autor: Bluesheep
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
Re: Płynny zoom dużego obrazka
: 09 lut 2013 15:19
autor: Góras
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.
Re: Płynny zoom dużego obrazka
: 09 lut 2013 16:42
autor: mikema72
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.
Re: Płynny zoom dużego obrazka
: 09 lut 2013 16:54
autor: mikema72
Re: Płynny zoom dużego obrazka
: 09 lut 2013 21:53
autor: wino
Siema,
Jak chcesz płynności, to spróbuj ruszać "kamerą" nie obrazem jest zdeczka płynniej. Oczywiście mowa o 3d Picture.
Re: Płynny zoom dużego obrazka
: 10 lut 2013 01:22
autor: mikema72
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...