jscolor-colorpickerをfabricjs-ITextと併用して、マウス移動時のカラーのライブプレビューを提供しています。ここで涼しくない唯一の事は、半透明の選択強調表示がテキスト編集モードでのcolorpreviewを台無しにしていることです。選択のハイライトを削除する方法や選択を完全に透明にする方法に関するアイデアはありますか?fabricjs ITextで選択ハイライトを透明にする方法は?
選択色に関するjsdocのプロパティが見つかりません。 http://fabricjs.com/docs/fabric.IText.html
<input value="ffcc00" id="fill" class="jscolor {onFineChange:'itext_setcolor(this)',hash:true}">
window.itext_setcolor = function(val) {
obj = canvas.getActiveObject();
if (obj) {
if (obj.isEditing) {
setStyle(obj, 'fill', '#' +val);
} else
{
obj.setFill('#' + val);
}
canvas.renderAll();
}
};
EDIT 1
感謝の@STHayden私に正しい答えを与えます。ここでは、テキスト選択が変更されたときの強調表示が再現された最終作業コードがあります。
...
canvas.on('text:selection:changed', onTextChangedIText);
...
function onTextChangedIText() {
var obj = canvas.getActiveObject();
if (obj.selectionStart>-1) {
obj.set({'selectionColor':'rgba(17,119,255,0.3)'});
}
}
window.itext_setcolor = function(val) {
obj = canvas.getActiveObject();
if (obj) {
if (obj.isEditing) {
obj.set({'selectionColor':'transparent'});
setStyle(obj, 'fill', '#' +val);
} else
{
obj.setFill('#' + val);
}
canvas.renderAll();
}
};
これはiText®の質問ではありません。 iText質問としてタグ付けできる技術については、[Stack Overflowに関するiTextドキュメント](http://stackoverflow.com/documentation/itext/)を参照してください。 fabricjsの人たちは、iTextという商標名を全く違うものに使っていたので、不必要な混乱を招いてしまった。 –
iTextタグが削除されました。 – Flemming