Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript html5画布在画布中显示默认区域 我想在我的画布中间显示我的“奉献文本”。 我真的无法确定坐标,也无法理解代码_Javascript_Jquery_Html_Canvas - Fatal编程技术网

Javascript html5画布在画布中显示默认区域 我想在我的画布中间显示我的“奉献文本”。 我真的无法确定坐标,也无法理解代码

Javascript html5画布在画布中显示默认区域 我想在我的画布中间显示我的“奉献文本”。 我真的无法确定坐标,也无法理解代码,javascript,jquery,html,canvas,Javascript,Jquery,Html,Canvas,目前,我的奉献文本显示在此处: 如您所见,它显示在画布的左上角 我想自动显示在中间的地方 像这样: 我从网络上获得了以下代码: 函数updateTotal(){ if(document.getElementById('design3')。选中){ var canvas2=document.getElementById(“displaycake_text”); context=canvas2.getContext(“2d”); var$canvas2=$(“#显示蛋糕_文本”); var can

目前,我的奉献文本显示在此处:

如您所见,它显示在画布的左上角

我想自动显示在中间的地方 像这样:

我从网络上获得了以下代码:

函数updateTotal(){
if(document.getElementById('design3')。选中){
var canvas2=document.getElementById(“displaycake_text”);
context=canvas2.getContext(“2d”);
var$canvas2=$(“#显示蛋糕_文本”);
var canvascoffset=$canvas2.offset();
var offsetX=canvasOffset.left;
var offsetY=canvasOffset.top;
var scrollX=$canvas2.scrollLeft();
var scrollY=$canvas2.scrollTop();
var-startX;
var startY;
var text=[];//用于保存文本对象的数组
var selectedText=-1;//此变量将保存所选文本的索引
函数draw(){//清除画布并重新绘制所有文本
context.clearRect(0,0,canvas2.width,canvas2.height);
对于(var i=0;i=text.x&&x=text.y-text.height&&y)

首先您需要使用canvas属性对齐您试图在画布上绘制的文本。
<强>第二版>强>你需要设置画布< <代码> >代码> x>代码>,<代码> y>代码>坐标,按照画布的宽度/高度的一半,这样你就可以把文本放在画布的中间。所以,基本上你必须在你已经存在的片段中添加或改变2行代码,那就是:

context.textAlign = 'center';
context.fillText(text.text, canvas2.width / 2, canvas2.height / 2);
好的是它会自动删除拖动部分。
函数updateTotal(){
if(document.getElementById('design3')。选中){
var canvas2=document.getElementById(“displaycake_text”);
context=canvas2.getContext(“2d”);
var$canvas2=$(“#显示蛋糕_文本”);
var canvascoffset=$canvas2.offset();
var offsetX=canvasOffset.left;
var offsetY=canvasOffset.top;
var scrollX=$canvas2.scrollLeft();
var scrollY=$canvas2.scrollTop();
var-startX;
var startY;
var text=[];//用于保存文本对象的数组
var selectedText=-1;//此变量将保存所选文本的索引
函数draw(){//清除画布并重新绘制所有文本
context.clearRect(0,0,canvas2.width,canvas2.height);
对于(变量i=0;i=text.x&&x=text.y-text.height&&y)

首先您需要使用canvas属性对齐您试图在画布上绘制的文本。
<强>第二版>强>你需要设置画布< <代码> >代码> x>代码>,<代码> y>代码>坐标,按照画布的宽度/高度的一半,这样你就可以把文本放在画布的中间。所以,基本上你必须在你已经存在的片段中添加或改变2行代码,那就是:

context.textAlign = 'center';
context.fillText(text.text, canvas2.width / 2, canvas2.height / 2);
好的是它会自动删除拖动部分。
函数updateTotal(){
if(document.getElementById('design3')。选中){
var canvas2=document.getElementById(“displaycake_text”);
context=canvas2.getContext(“2d”);
var$canvas2=$(“#显示蛋糕_文本”);
var canvascoffset=$canvas2.offset();
var offsetX=canvasOffset.left;
var offsetY=canvasOffset.top;
var scrollX=$canvas2.scrollLeft();
var scrollY=$canvas2.scrollTop();
var-startX;
var startY;
var text=[];//用于保存文本对象的数组
var selectedText=-1;//此变量将保存所选文本的索引
函数draw(){//清除画布并重新绘制所有文本
context.clearRect(0,0,canvas2.width,canvas2.height);
对于(变量i=0;i=text.x&&x=text.y-text.height&&y)

太棒了!谢谢!太棒了!谢谢!