Załadowałem obraz PNG w QPixmap/QImage i chcę go przyciąć. Czy istnieje funkcja, która robi to w Qt, lub jak powinienem zrobić to inaczej?Jak mogę przyciąć obraz w Qt?
Odpowiedz
Można użyć QPixmap::copy:
QRect rect(10, 20, 30, 40);
QPixmap original('image.png');
QPixmap cropped = original.copy(rect);
Istnieje również QImage::copy:
QRect rect(10, 20, 30, 40);
QImage original('image.png');
QImage cropped = original.copy(rect);
Ponieważ używasz QPixmap, można użyć jej copy method i dostarczyć go z QRect wykonać rzeczywisty plon.
Wystarczy użyć funkcji copy() programu QPixmap.
Ten tekst jest wynikiem czytania pierwszy komentarz na quiestion:
Czasami lepiej jest owinąć wokół obrazu. Oznacza to, że obraz, który jest częścią innego obrazu lub innymi słowami, wskazuje część innego obrazu. W ten sposób zawijany obraz nie wymaga dodatkowej pamięci, z wyjątkiem nagłówka. Możesz wyświetlić lub zapisać owinięty obraz bez obaw. Minusem jest to, że oryginalny obraz musi pozostać ważny do momentu użycia owiniętego obrazu, także jeśli rysujesz zawinięty obraz, wpłynie to na źródło.
Zastosowanie QImage zamiast QPixmap:
QImage image("initial_image.jpg");
QImage copy ;
copy = image.copy(0, 0, 128, 128);
copy.save("cropped_image.jpg");
Kod ten będzie zapisać plik przycięte do lewego górnego rogu 128x128px.
- 1. Jak przyciąć ogromny obraz
- 2. Jak przyciąć obraz w vb.net?
- 3. Pozwól użytkownikowi przyciąć obraz
- 4. Jak przyciąć obraz w obiektywnym c?
- 5. Jak przyciąć mapę bitową jak obraz?
- 6. Jak przyciąć obraz za pomocą obróconego prostokąta?
- 7. Jak przyciąć obraz w OpenCV za pomocą Pythona
- 8. C# - Wykryj twarz i przyciąć obraz
- 9. dostosuj rogi i przyciąć obraz openCV
- 10. iOS: Jak przyciąć obraz do użytecznych części (usunąć przezroczystą ramkę)
- 11. jak mogę wyciąć lub przyciąć zdjęcie treści?
- 12. Jak mogę przyciąć obraz w php przy zadanych współrzędnych X, Y, Szerokość i Wysokość
- 13. Jak przyciąć obraz za pomocą php za pomocą jquery imgAreaSelect?
- 14. Jak zmienić rozmiar następnie przyciąć obraz z płótna
- 15. Jak przyciąć tekst w Angular2?
- 16. Qt: pokaż obraz na widgecie
- 17. Jak przyciąć wewnętrzny obszar konturu?
- 18. Delphi - jak przyciąć mapę bitową "na miejscu"?
- 19. Wyświetl grafikę Qt, pokaż obraz! Widget
- 20. iPhone: -simplest sposób przyciąć obraz pożądanego kształtu i wielkości
- 21. SVG - Jak przyciąć zdjęcie do koła?
- 22. Jak przycinać obraz w iOS
- 23. Jak mogę odczytać obraz base64 w WPF?
- 24. jak dołączyć obraz do gui stworzony przy użyciu kreatora Qt
- 25. Jak przyciąć część tekstu w kanwie HTML5?
- 26. Jak przyciąć kwadrat środkowy w UIImage?
- 27. Jak przyciąć prostokąt z obrazu w Androidzie
- 28. Jak przyciąć brak przerw w Javie?
- 29. QT Jak osadzić aplikację w widgecie QT
- 30. przyciąć wszystkie sznurki w tablicy
Możesz użyć 'QPixmap' do wykonania tej samej operacji; dodatkowo, 'QPixmap' ma' toImage() 'jeśli zaczynasz od' QPixmap' i chcesz go jako 'QImage'. Możesz to zrobić w jednym wierszu jako takim: 'QImage copy = pixmap.copy (0,0,128,128) .toImage();' –