Jest możliwość rysowania punktami ? Nie ma takiej funkcji więc może jest jakieś obejście ? tylko nie na zasadzie tworzenia małych punktów z funkcji rysujących prostokąty.
Core Graphics i rysowanie punktami
Rozpoczęty przez
macsurf
, 17 lip 2014 20:16
5 odpowiedzi w tym temacie
#1
Napisano 17 lipca 2014 - 20:16
#2
Napisano 27 lipca 2014 - 17:03
Mógłbyś dokładniej opisać jaki efekt chcesz osiągnąć? Jest kilka sposobów na rysowanie punktów i bardziej złożonych kształtów.
#3
Napisano 28 lipca 2014 - 13:08
Tu chodzi tylko o ustawianie pixelow na odpowiednich wspolrzednych a efekt to już jest kwestia co chcemy narysować, czy to będzie sinusoida, koło, elipsa to nie ma znaczenia. Chodzi tylko o rysowanie pixelem. Wiem, że w CG pikselem nie można rysować po polu graficznym ( contex ).
#4
Napisano 28 lipca 2014 - 18:57
Dlatego pytam o efekt. Osobiście pisałem własną klasę rysowania wykresów i do tego świetnie nadaje się CAShapeLayer, który pozwala na rysowanie linii, punktów i dowolnych kształtów. Da się go wykorzystać do rysowania pojedynczymi punktami (mogą być wielkości pixela)
https://developer.ap.../Reference.html
Osobiście bardzo mi się podoba możliwość animowania ścieżki za pomocą CABasicAnimation.
Jeśli jednak wymogiem jest Core Graphics, to mam za mało doświadczenia.
https://developer.ap.../Reference.html
Osobiście bardzo mi się podoba możliwość animowania ścieżki za pomocą CABasicAnimation.
Jeśli jednak wymogiem jest Core Graphics, to mam za mało doświadczenia.
#5
Napisano 29 lipca 2014 - 11:24
No tak tylko to są krzywe beziera, do tego korzystam z klasy UIBezierPath, ma właściwość CGPath- więc nie ma problemów z dołączaniem krzywych do CG.
Mi chodzi o rysowanie punktami, aby mieć kontrole nad każdym pojedyńczym pixelem, bez tworzenia pośrednich pixeli za pomocą krzywych beziera.
Core Graphis jeśli chodzi o możliwości to prawie to samo co w komponent graficzny w Javovym Swingu, tam też nie można operować na pojedyńczych pikselach, można zrobić to pośrednio ale to odbija się na wydajności.
W bibliotece GD jak pamiętam jeszcze w PHP operowałem na pojedyńczym punkcie. GD oczywiście jest też dla C.
Czyli pozostaje utworzenie obrazu w bibliotece GD, narysować sobie na bitmapie rysunek pixel po pixelu i taki obrazek odczytać w CG. No cóż wydajność tego rozwiązania nie będzie oszałamiająca, więc może jednak istnieje jakiś sposób na w miarę optymalne rozwiązanie
#6
Napisano 29 lipca 2014 - 11:46
UIBezierPath pomaga w tworzeniu ścieżek, ale nie jest wymagany. Można łączyć i tworzyć ścieżki (punkty) bez jego pomocy. ShapeLayer jest stworzony do tego i w porównaniu z modyfikacjami zwykłego layera jest o wiele wydajniejszy (korzystałem z niego aby zoptymalizować na iPhone4 kilka rzeczy). Nie wiem jak bardzo skomplikowane operacje trzeba by było zrobić, żeby mieć problemy z wydajnością. Jako że chodzi o ogólne rozwiązanie problemu, a nie konkretny efekt to już bardziej nie umiem pomóc. Jeśli znajdziesz jakieś rozwiązanie to chętnie je poznam
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych