Widzę interfejsy API w Kwarcu do rysowania linii i okręgów. Ale wszystko, co chcę zrobić, to określić współrzędną kartezjańską (x, y), aby pokolorować piksel o określonej wartości. Jak mogę to zrobić?Jak narysować punkt za pomocą Core Graphics?
Odpowiedz
Można narysować linię o długości 1 piksela na danej współrzędnej; to powinno osiągnąć to, co chcesz.
Kwarc nie jest interfejsem API opartym na pikselach, a jego konteksty niekoniecznie są buforami pikseli. Jeśli chcesz narysować pixmapy, utwórz kontekst bitmapowy z CGBitmapContextCreate()
. Udostępniamy bufor, który można bezpośrednio manipulować, i można go skopiować do innego kontekstu, tworząc z tego samego bufora CGImage
, przy użyciu rysunku CGImageCreate()
.
CGContextFillRect(context, CGRectMake(x,y,1,1));
Mam ten sam problem - Uważam, że najlepszym rozwiązaniem jest podobny do ostatniego, ale przynajmniej nie zostawić coś, co wygląda jak „kreską” ... Oczywiście, należy upewnić się, x/y są równe> 0.
CGContextFillRect (kontekst, CGRectMake (x - 0,5, y - 0,5, 1,0, 1,0));
Dostałem punkt (linia o zerowej długości) do rysowania po ustawieniu ograniczeń linii na kCGLineCapRound. Domyślny limit nie ma długości, więc nie można go narysować.
Argument, że punkt nie ma wielkości, jest głupi. Linie nie mają szerokości, ale możemy je narysować (używając "szerokości linii" ze stanu rysowania). Punkt powinien rysować dokładnie w ten sam sposób, a przy różnych pułapach linii uważam, że tak.
Może to zachowanie jest nowe?
Narysuj bardzo małą elipsę/okrąg i wypełnij ją!
CGContextAddEllipseInRect(Context,(CGRectMake (x_dot, y_dot, 3.0, 3.0));
CGContextDrawPath(Context, kCGPathFill);
CGContextStrokePath(Context);
Używam tego kodu, aby utworzyć małą kropkę (3x3 piksele) w kropkowanej nucie muzycznej.
Swift 3 „Argument, że punkt ma rozmiar nie jest głupie”
UIRectFill(CGRect(x: x, y: y, width: 1, height: 1))
- 1. Jak narysować coś takiego w Core Graphics
- 2. Core Image vs Core Graphics
- 3. Jak narysować zaokrąglony prostokąt w Core Graphics/Quartz 2D?
- 4. Zalety korzystania z Core Graphics
- 5. Gaussian Noise tylko przy użyciu Core Graphics?
- 6. Jak narysować punkt (na mouseclick) w QGraphicsScene?
- 7. Jak narysować krzywą mocy za pomocą ggplot2
- 8. Jak mogę narysować schemat za pomocą LaTeX?
- 9. jak narysować serce za pomocą pylab
- 10. Czy ten wątek kodu Core Graphics jest bezpieczny?
- 11. Sposób przechwytywania ekranu za pomocą/dev/graphics/fb0 (Android)
- 12. narysować linię za pomocą dwóch punktów
- 13. Czy można narysować wykres 3D za pomocą jFree?
- 14. Które części UIKit, Core Graphics, Core Animation, OpenGL są dozwolone na innych niż główny wątek?
- 15. Manipulowanie obrazami za pomocą .NET Core
- 16. jak narysować diament za pomocą elementu gobelinowego t: pętla
- 17. Jak narysować trasę za pomocą różnych długich wartości?
- 18. Jak mogę narysować tekst pionowy za pomocą przeglądarki CSS?
- 19. Jak mogę narysować tekst za pomocą Libgdx/Java?
- 20. Jak narysować prostokąt na osi datetime za pomocą matplotlib?
- 21. Jak narysować krzywą za pomocą punktów drzewa w systemie Android?
- 22. Jak narysować linie drzewa genealogicznego za pomocą HTML CSS?
- 23. jak narysować niestandardowe kształty za pomocą prostej tekstury w libgdx?
- 24. Jak narysować ścieżkę na mapie za pomocą pliku kml?
- 25. Jak narysować klasyczny diagram stanu za pomocą Mathematica?
- 26. Jak załadować pliki EPS i narysować je za pomocą WinForms
- 27. Jak mogę narysować przezroczysty obiekt 3D za pomocą SharpDX Toolkit?
- 28. Jak utworzyć punkt połączenia za pomocą programu WinApi?
- 29. za pomocą Matplotlib, jak wyróżnić jeden punkt na końcowej działce
- 30. W programie iOS Development, używając Core Graphics i/lub Quartz 2D, jak narysować koło wypełnione gradientem w taki sposób, że wygląda jak kula?
Nie, nie jest. Punkt jest właśnie taki: Pojedynczy punkt. Rozmiar to odległość między co najmniej jedną parą punktów. Ograniczniki linii są dodatkiem do długości linii, którą rysujesz; w przypadku okrągłej pokrywy, promień jest o połowę krótszy niż szerokość linii, więc linia o zerowej długości z okrągłymi czapkami o szerokości 1 pt rysuje dwa czapki o promieniu 1/2 pt, bez żadnego odstępu, tworząc w ten sposób okrąg o wartości 1 średnica pt. I nie, to zachowanie nie jest nowe: czapki liniowe i większość pozostałych Quartzów pochodzi z pliku PDF z PostScript, który pochodzi z 1985 roku. –
Nie oznacza to sugerowania, że punkt ma rozmiar, tylko że jego brak rozmiar jest głupim pretekstem do tego, że nie jest w stanie go narysować. Linia (jako koncepcja matematyczna) nie ma szerokości, ale możemy ją narysować. Narysowanie "linii o zerowej długości" z zaokrąglonymi czapkami powoduje wyświetlenie punktu na ekranie o średnicy linii. Okrągłe czapki oferują zasadniczo ustawienie "średnicy punktu". Jeśli jednak oryginalny plakat chce ustawić kolor piksela o wartości jednego piksela, należy to zrobić, ustawiając wartości bezpośrednio w kontekście bitmapowym, a nie za pomocą procedur rysowania opartych na ścieżkach. – Chad
Tego właśnie szukałem! CGContextSetLineWidth (desiredWidth); CGContextSetLineCap (UIGraphicsGetCurrentContext(), kCGLineCapRound); Następnie narysuj linię od punktu do siebie. – rmp251