QtWebService 이미지 지원
6408 단어 QtQtWebServiceQML
소개
어제는 @task_kr 씨에 의한 Qt 의 값형의 클래스로 사용되고 있는 Implicit Sharing 기술의 소개와 구현 이었습니다.
오늘은 공부회중에 참가할 예정이었습니다만, 가족 일동 컨디션이 나쁘고 캔슬해 버렸습니다. . .
QtWebService란?
q와 ぇb세r 비세. 이오 가 공식 사이트입니다.
개요는 Qt Advent Calendar 2017 5일째의 QtWebService 소개를 봐 주세요.
QtWebService 이미지 지원
지금까지 다양한 텍스트 형식의 데이터를 QML로 기술하는 것을 목표로 해 온 QtWebService입니다만, 여러 사정에 의해 이미지의 동적 생성에 대응했습니다.
hello.qmlimport QtWebService.Image 1.0
Image {
id: root
width: 100
height: 100
contentType: 'image/png'
source: './qt-logo.png'
Text {
y: 70
text: 'Hello World'
}
}
이러한 QML을 작성하면 다음 이미지가 생성됩니다.
주의점
QtWebService 이미지 생성 기능을 사용하려면 QtGui 모듈이 필요합니다.
QT = webservice
QT += gui
그런 다음 QCoreApplication 대신 QGuiApplication 을 사용해야 합니다.
또한 QtQuick 모듈의 Image 및 Text와 같은 이름이지만 전혀 관계없는 요소입니다. 그중 비슷한 속성을 정비할 예정입니다만, 지금은 최저한의 기능 밖에 준비하고 있지 않습니다.
뭐가 기뻐요?
이미지를 생성할 수 있습니다. 옛날 그리운 이미지의 액세스 카운터를 다음과 같은 느낌으로 만드는 것도 가능합니다.
counter.qml
import QtWebService.Image 1.0
import QtWebService.Cache 1.0
import QtQml 2.2
이미지 {
id: 루트
width: 100
height: 30
contentType: 'image/png'
Cache { id: cache }
Text {
id: text
y: 20
x: root.width - text.width
}
Component.onCompleted: {
var counter = cache.fetch('counter')
counter = counter ? counter + 1 : 1
cache.add('counter', counter)
text.text = counter
}
} 실행 결과:
왜 만들었어?
Google의 Static Maps API 에서 지도에 이미지 마커를 지정할 때 다양한 이미지를 준비하는 것이 번거로웠기 때문에 QtWebService에서 제공한 이미지를 표시하도록 하고 있습니다.
다음과 같은 marker.png를 사용하여,
다음과 같은 코드로 이미지를 생성합니다.
marker.qmlimport QtWebService.Image 1.0
Image {
id: root
width: 32
height: 32
contentType: 'image/png'
source: './marker.png'
Text {
x: (root.width - width) / 2
y: 22
text: (new Date).getSeconds()
}
}
이것을 보면 다음과 같습니다.
실제로 운영하는 (비밀) 서비스는 이미지의 qml에 매개 변수를 전달하여 약간 고급 이미지를 생성합니다.
결론
Qt를 사용하면 웹 서비스에서 동적 이미지를 생성하는 것이 쉽습니다.
아이디어 나름으로 정말 여러가지 일을 할 수 있으므로, 여러가지 일에 활용해 보세요. 내일은 @argama147 씨에 의한 「 지금 들리지 않는 신호 슬롯 총 정리 」입니다. 기대하세요!
Reference
이 문제에 관하여(QtWebService 이미지 지원), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/task_jp/items/c130240f1f61d8f52aad
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
q와 ぇb세r 비세. 이오 가 공식 사이트입니다.
개요는 Qt Advent Calendar 2017 5일째의 QtWebService 소개를 봐 주세요.
QtWebService 이미지 지원
지금까지 다양한 텍스트 형식의 데이터를 QML로 기술하는 것을 목표로 해 온 QtWebService입니다만, 여러 사정에 의해 이미지의 동적 생성에 대응했습니다.
hello.qmlimport QtWebService.Image 1.0
Image {
id: root
width: 100
height: 100
contentType: 'image/png'
source: './qt-logo.png'
Text {
y: 70
text: 'Hello World'
}
}
이러한 QML을 작성하면 다음 이미지가 생성됩니다.
주의점
QtWebService 이미지 생성 기능을 사용하려면 QtGui 모듈이 필요합니다.
QT = webservice
QT += gui
그런 다음 QCoreApplication 대신 QGuiApplication 을 사용해야 합니다.
또한 QtQuick 모듈의 Image 및 Text와 같은 이름이지만 전혀 관계없는 요소입니다. 그중 비슷한 속성을 정비할 예정입니다만, 지금은 최저한의 기능 밖에 준비하고 있지 않습니다.
뭐가 기뻐요?
이미지를 생성할 수 있습니다. 옛날 그리운 이미지의 액세스 카운터를 다음과 같은 느낌으로 만드는 것도 가능합니다.
counter.qml
import QtWebService.Image 1.0
import QtWebService.Cache 1.0
import QtQml 2.2
이미지 {
id: 루트
width: 100
height: 30
contentType: 'image/png'
Cache { id: cache }
Text {
id: text
y: 20
x: root.width - text.width
}
Component.onCompleted: {
var counter = cache.fetch('counter')
counter = counter ? counter + 1 : 1
cache.add('counter', counter)
text.text = counter
}
} 실행 결과:
왜 만들었어?
Google의 Static Maps API 에서 지도에 이미지 마커를 지정할 때 다양한 이미지를 준비하는 것이 번거로웠기 때문에 QtWebService에서 제공한 이미지를 표시하도록 하고 있습니다.
다음과 같은 marker.png를 사용하여,
다음과 같은 코드로 이미지를 생성합니다.
marker.qmlimport QtWebService.Image 1.0
Image {
id: root
width: 32
height: 32
contentType: 'image/png'
source: './marker.png'
Text {
x: (root.width - width) / 2
y: 22
text: (new Date).getSeconds()
}
}
이것을 보면 다음과 같습니다.
실제로 운영하는 (비밀) 서비스는 이미지의 qml에 매개 변수를 전달하여 약간 고급 이미지를 생성합니다.
결론
Qt를 사용하면 웹 서비스에서 동적 이미지를 생성하는 것이 쉽습니다.
아이디어 나름으로 정말 여러가지 일을 할 수 있으므로, 여러가지 일에 활용해 보세요. 내일은 @argama147 씨에 의한 「 지금 들리지 않는 신호 슬롯 총 정리 」입니다. 기대하세요!
Reference
이 문제에 관하여(QtWebService 이미지 지원), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/task_jp/items/c130240f1f61d8f52aad
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import QtWebService.Image 1.0
Image {
id: root
width: 100
height: 100
contentType: 'image/png'
source: './qt-logo.png'
Text {
y: 70
text: 'Hello World'
}
}
import QtWebService.Image 1.0
Image {
id: root
width: 32
height: 32
contentType: 'image/png'
source: './marker.png'
Text {
x: (root.width - width) / 2
y: 22
text: (new Date).getSeconds()
}
}
Reference
이 문제에 관하여(QtWebService 이미지 지원), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/task_jp/items/c130240f1f61d8f52aad텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)