Комментарии 24
По-моему, для многих операций, выполненных Вами, есть стандартные методы…
Например радиус скругления — точно помню, что в Qt Quick радиус скругления задать можно, значит 100% в библиотеке же реализовано! А градация серого — это же неактивная иконка, тоже наверняка есть…
В итоге смысл статьи сводится к асинхронной загрузке, что почти элементарно с помощью QNetworkAccessManager…
Например радиус скругления — точно помню, что в Qt Quick радиус скругления задать можно, значит 100% в библиотеке же реализовано! А градация серого — это же неактивная иконка, тоже наверняка есть…
В итоге смысл статьи сводится к асинхронной загрузке, что почти элементарно с помощью QNetworkAccessManager…
Ну, разумеется, что-то уже реализовано. Но это ещё надо найти — а не каждый будет перекапывать кучу исходников Qt чтобы понять, как в QML углы скругляются.
Кроме того, рассматриваются и другие эффекты. Равно как и синхронная загрузка изображений через
Хотя, конечно, надо будет почитать исходники
Кроме того, рассматриваются и другие эффекты. Равно как и синхронная загрузка изображений через
QNetworkAccessManager
.Хотя, конечно, надо будет почитать исходники
QGraphicsDropShadowEffect
, дабы добавить к тени размытие.Основная цель статьи — польза. Если она есть — статья имеет право существовать, а польза в ней есть, конечно же, например разобраться в алгоритмах или попробовать написать свои.
Но главное, чтобы неискушенные люди не взяли такой подход за основу — библиотечная реализация, как правило, сделана лучше (бывают исключения)!
Но главное, чтобы неискушенные люди не взяли такой подход за основу — библиотечная реализация, как правило, сделана лучше (бывают исключения)!
Ну, для неискушённых тут мало пользы, разве что действительно Sync/Async HTTP-запросы.
А если есть библиотечная реализация работы с изображениями на Qt, то я был бы рад увидеть Public-API к ней =)
Но, увы, много к чему Qt не даёт public-доступа, и «использовать библиотечную реализацию» превращается в «копипастить из библиотечной реализации»…
А если есть библиотечная реализация работы с изображениями на Qt, то я был бы рад увидеть Public-API к ней =)
Но, увы, много к чему Qt не даёт public-доступа, и «использовать библиотечную реализацию» превращается в «копипастить из библиотечной реализации»…
ИМХО, это статья чтобы её нагуглили. И она очень поможет всем тем, кто не осилил загрузить картинку с нета для своей проги.
Библиотечная реализация эффектов как раз через ЖО сделана и в Qt5 её не будет.
QMap requests
Ну typedef же напрашивается!
typedef QPair UrlPair;
typedef QPair ObjectUrlPair;
typedef QMap RequestMap;
RequestMap requests;
ЗЫ Для первых 2-х конечно имена нужно подобрать, которые будут более хорошо объяснять контекст, я просто сходу написал.
Ну typedef же напрашивается!
typedef QPair UrlPair;
typedef QPair ObjectUrlPair;
typedef QMap RequestMap;
RequestMap requests;
ЗЫ Для первых 2-х конечно имена нужно подобрать, которые будут более хорошо объяснять контекст, я просто сходу написал.
Парсер слопал параметры темплейтов =)
Но не важно, мысль ясна. Как будет время, поправлю.
Но не важно, мысль ясна. Как будет время, поправлю.
Тег source не работает. Вот здесь то что я хотел написать: pastebin.com/7tXSfmJE
Лучше посмотрите как это все на шейдерах делается и лучше на похожую статью из labs.qt.nokia.com
Извините — не удержался. Ну это.
>> QMap requests
Это не просто ужас, а очень очень ужас. Я потратил секунд 15 чтобы до меня дошло что ЭТО.
Все остальное вам уже показали собственно говоря… в целом статья полезная.
>> статья чтобы ее загуглили
Это же не модно). GoGoDaddy рулит.
>> QMap requests
Это не просто ужас, а очень очень ужас. Я потратил секунд 15 чтобы до меня дошло что ЭТО.
Все остальное вам уже показали собственно говоря… в целом статья полезная.
>> статья чтобы ее загуглили
Это же не модно). GoGoDaddy рулит.
Немного не понял зачем столько возни с закруглёнными углами. Просто рисуем прямоугольник со скруглёнными углами, а потом картинку. Сокращая Ваш код, примерно так:
QImage shapeImg(QSize(size, size), QImage::Format_ARGB32_Premultiplied);
shapeImg.fill(Qt::transparent);
QPainter sp(&shapeImg);
sp.setRenderHint(QPainter::Antialiasing);
sp.setPen(QPen(Qt::color1));
sp.setBrush(QBrush(Qt::color1));
sp.drawRoundedRect(QRect(0, 0, size, size), radius + 1, radius + 1);
sp.setCompositionMode(QPainter::CompositionMode_SourceIn);
sp.drawImage(0, 0, squared(image, size));
sp.end();
return roundSquaredImage;
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Синхронная и асинхронная загрузка изображения из сети с последующей обработкой