fabric 相关问题

一个Python库和命令行工具,用于简化SSH在应用程序部署或系统管理任务中的使用。有关Google Fabric服务的问题,请使用[google-fabric]标签。有关FabricJs库的问题,请使用[fabricjs]。有关Hyperledger Fabric的问题,请使用[hyperledger-fabric]。

在 Windows 上从 SSH 连接分离程序

我需要通过本地Python(2.7)脚本通过SSH登录Windows服务器,在服务器上启动一个脚本然后断开SSH连接,以便本地脚本可以继续运行。 ...

回答 1 投票 0

将 BMP 图像文件从 Base-64 转换为二进制时格式不正确的问题

我正在尝试将fabric.Canvas的toDataURL返回的“数据”中包含的Base-64数据转换为具有相应扩展名(BMP)的文件。结果是“文件...

回答 1 投票 0

Fabric 矩形对象的透明背景颜色。有可能吗?

具有以下内容: 常量矩形=新的织物.矩形({ 左:100, 顶部:50, 宽度:200, 高度:100, 对象缓存:假, 中风:...

回答 1 投票 0

Fabric“矩形”对象放置在其“canvas”元素的“div”元素之外

我正在使用 Fabric js,但我遇到了“矩形”对象的问题。我的页面结构如下: &... 我正在使用 Fabric js,但我遇到了“矩形”对象的问题。我的页面结构如下: <div id="div0"> <div id="divDespl"></div> <div id="divCont"> <div id="divIz"></div> <div id="div1" > <canvas id="micanvas"></canvas> </div> </div> </div> “rect”对象放置在“div1”div 的外部(该 div 包含应将“rect”对象添加到的“micanvas”画布)。 结果如下所示: 下面是矩形。 当我使用这样的简单结构时: <div id="div1" > <canvas id="micanvas"></canvas> </div> 矩形确实出现在 div“div1”中。看起来像这样。 使用 javascript 进行工作的函数如下: function Canvas2(nombrearchivo) { let di = document.getElementById("div1"); di.style.backgroundImage = "url('/google/archivosdescargados/" + nombrearchivo + "')"; $("#div1").css("background-size", "contain"); $("#div1").css("background-repeat", "no-repeat"); const canvas = new fabric.Canvas(micanvas); // create a rect object const deleteIcon = "data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3E%3Csvg version='1.1' id='Ebene_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='500.275px' height='500.275px' viewBox='200 215 230 470' xml:space='preserve'%3E%3Ccircle style='fill:%23F44336;' cx='299.76' cy='439.067' r='218.516'/%3E%3Cg%3E%3Crect x='267.162' y='307.978' transform='matrix(0.7071 -0.7071 0.7071 0.7071 -222.6202 340.6915)' style='fill:white;' width='65.545' height='262.18'/%3E%3Crect x='266.988' y='308.153' transform='matrix(0.7071 0.7071 -0.7071 0.7071 398.3889 -83.3116)' style='fill:white;' width='65.544' height='262.179'/%3E%3C/g%3E%3C/svg%3E"; var deleteImg = document.createElement('img'); deleteImg.src = deleteIcon; fabric.Object.prototype.transparentCorners = false; fabric.Object.prototype.cornerColor = 'blue'; fabric.Object.prototype.cornerStyle = 'circle'; const rect = new fabric.Rect({ left: 100, top: 50, width: 200, height: 100, objectCaching: false, stroke: 'lightgreen', strokeWidth: 4 }); rect.controls.deleteControl = new fabric.Control({ x: 0.5, y: -0.5, offsetY: 16, cursorStyle: 'pointer', mouseUpHandler: deleteObject, render: renderIcon, cornerSize: 24, }); canvas.add(rect); canvas.setActiveObject(rect); function deleteObject(_eventData, transform) { const canvas = transform.target.canvas; canvas.remove(transform.target); canvas.requestRenderAll(); } function renderIcon(ctx, left, top, _styleOverride, fabricObject) { const size = this.cornerSize; ctx.save(); ctx.translate(left, top); ctx.rotate(fabric.util.degreesToRadians(fabricObject.angle)); ctx.drawImage(deleteImg, -size / 2, -size / 2, size, size); ctx.restore(); } } CSS样式代码如下: <style type="text/css"> html, body { height: 100%; margin: 0; width: 100%; } /* html {padding-top: 1%;} */ #div0 { height: 100%; width: 100%; background-color: red; } #divDespl { height: 3%; width: 100%; background-color: yellow; } #divCont { display: inline-block; height: 97%; width: 100%; background-color: orange; } #divIz { height: 97%; width: 3%; background-color: navajowhite; float: left; } #div1 { display: block; justify-content: center; align-items: center; height: 97%; width: 94%; background-color: blue; z-index: 1 } #divDe { height: 97%; width: 3%; background-color: black; float: right; display: inline; } </style> 我想知道为什么在放置更复杂的结构时会出现矩形。乍一看似乎肯定是元素的 CSS 属性造成的,但我找不到是哪一个或哪一个。 图像作为div“div1”中的背景图像,“background-size”为“contain”。我认为这不会影响它。 总结:您尝试使太多 <div> 的高度为 100%(和 97%)。因此,并非所有东西都垂直适合,导致其中一块织物的画布向下移动。 简单的修复方法是删除 divIz <div>。 更长的解释:fabric.js 使用 <canvas> 创建第二个 position relative。这是相对于页面上的正常位置而言的。 divIz 上 97% 的高度 <div> 将正常位置移至页面下方。 要查看原始代码中发生的情况,请在 border 元素周围应用 css canvas,您将在页面底部看到第二个 canvas。您还可以使用浏览器的调试环境并检查 canvas 元素以查看有两个元素以及结构已应用于它们的位置。 Canvas2("") function Canvas2(nombrearchivo) { let di = document.getElementById("div1"); // EDIT For demo // di.style.backgroundImage = "url('/google/archivosdescargados/" + nombrearchivo + "')"; di.style.backgroundImage = "url('https://placebear.com/800/300.jpg')"; $("#div1").css("background-size", "contain"); $("#div1").css("background-repeat", "no-repeat"); const canvas = new fabric.Canvas(micanvas); // create a rect object const deleteIcon = "data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3E%3Csvg version='1.1' id='Ebene_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='500.275px' height='500.275px' viewBox='200 215 230 470' xml:space='preserve'%3E%3Ccircle style='fill:%23F44336;' cx='299.76' cy='439.067' r='218.516'/%3E%3Cg%3E%3Crect x='267.162' y='307.978' transform='matrix(0.7071 -0.7071 0.7071 0.7071 -222.6202 340.6915)' style='fill:white;' width='65.545' height='262.18'/%3E%3Crect x='266.988' y='308.153' transform='matrix(0.7071 0.7071 -0.7071 0.7071 398.3889 -83.3116)' style='fill:white;' width='65.544' height='262.179'/%3E%3C/g%3E%3C/svg%3E"; var deleteImg = document.createElement('img'); deleteImg.src = deleteIcon; fabric.Object.prototype.transparentCorners = false; fabric.Object.prototype.cornerColor = 'blue'; fabric.Object.prototype.cornerStyle = 'circle'; const rect = new fabric.Rect({ left: 100, top: 50, width: 200, height: 100, objectCaching: false, stroke: 'lightgreen', strokeWidth: 4 }); rect.controls.deleteControl = new fabric.Control({ x: 0.5, y: -0.5, offsetY: 16, cursorStyle: 'pointer', mouseUpHandler: deleteObject, render: renderIcon, cornerSize: 24, }); canvas.add(rect); canvas.setActiveObject(rect); function deleteObject(_eventData, transform) { const canvas = transform.target.canvas; canvas.remove(transform.target); canvas.requestRenderAll(); } function renderIcon(ctx, left, top, _styleOverride, fabricObject) { const size = this.cornerSize; ctx.save(); ctx.translate(left, top); ctx.rotate(fabric.util.degreesToRadians(fabricObject.angle)); ctx.drawImage(deleteImg, -size / 2, -size / 2, size, size); ctx.restore(); } } /* EDIT Debug */ canvas { outline: solid 4px cyan; } html, body { height: 100%; margin: 0; width: 100%; } /* html {padding-top: 1%;} */ #div0 { height: 100%; width: 100%; background-color: red; } #divDespl { height: 3%; width: 100%; background-color: yellow; } #divCont { display: inline-block; height: 97%; width: 100%; background-color: orange; } #divIz { height: 97%; width: 3%; background-color: navajowhite; float: left; } #div1 { display: block; justify-content: center; align-items: center; height: 97%; width: 94%; background-color: blue; z-index: 1 } #divDe { height: 97%; width: 3%; background-color: black; float: right; display: inline; } <script src="https://cdn.jsdelivr.net/npm/fabric@latest/dist/index.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script> <div id="div0"> <div id="divDespl"></div> <div id="divCont"> <!-- <div id="divIz"></div> --> <div id="div1" > <canvas id="micanvas"></canvas> </div> </div> </div>

回答 1 投票 0

执行远程 ssh 命令时使用 Fabric2 退出代码:127

我在使用fabric2命令模块时遇到了奇怪的行为。这些命令就像一个魅力: 连接=连接(主机= h,用户= u,connect_kwargs = {“密码”:p}) connect.run('mkdir temp_streami...

回答 2 投票 0

SSH 连接到网络设备并运行命令

我有一个可以使用用户名和密码连接的网络设备。 登录时,它会显示一个登录横幅(多行),然后显示一个自定义 shell,其中只能运行预设的

回答 1 投票 0

如何为Fabric2/Paramiko/Invoke指定本地shell?

当尝试创建fabric2.Connection时,Paramiko尝试调用本地/bin/bash命令: $ fab2 db-shell 回溯(最近一次调用最后一次): 文件“/nix/store/m2iyj18cifr4a1rvpfgphg7kfg...

回答 1 投票 0

Fabric 2:为各种主机配置sudo密码

我正在寻找一种方法来配置 fabfile.py 所针对的各种主机中的“sudoing”密码。我在 ~/.fabric.py|yaml|json 中接受“清晰”密码”,但在 fabfile.py 中不接受。 除非我

回答 1 投票 0

使用fabric 2执行st2命令时出现“401客户端错误:未经授权”

在fabric 1.14.0中,下面的代码运行良好 从fabric.api导入运行、设置、隐藏 theCmd = 'st2 run core.http url="http://httpbin.org/get"' 用户='' ss_host=' 在 Fabric 1.14.0 中,以下代码运行良好 from fabric.api import run, settings, hide theCmd = 'st2 run core.http url="http://httpbin.org/get"' user='<my account>' ss_host='<stackstorm host>' ss_bast='<stackstorm bastion>' with settings(user=user, host_string=ss_host, gateway=ss_bast): ss_result = run(theCmd) 但是,当我将其切换到fabric2(2.5.0)时,下面的代码不起作用: from fabric import Connection theCmd = 'st2 run core.http url="http://httpbin.org/get"' user='<my account>' ss_host='<stackstorm host>' ss_bast='<stackstorm bastion>' with Connection(host=ss_host, user=user, gateway=Connection(host=ss_bast)) as ss_conn: response = ss_conn.run('ls -la', warn=True, hide=True) response = ss_conn.run(theCmd) 第一个命令(ls -la)成功,这意味着连接已成功创建,但第二个命令失败并出现以下错误 ERROR: 401 Client Error: Unauthorized MESSAGE: Unauthorized - One of Token or API key required. for url: http://127.0.0.1:9101/v1/actions/core.http Traceback (most recent call last): File "test/test_ss.py", line 12, in <module> response = ss_conn.run(theCmd) File "<decorator-gen-3>", line 2, in run File "venv/lib/python3.7/site-packages/fabric/connection.py", line 30, in opens return method(self, *args, **kwargs) File "venv/lib/python3.7/site-packages/fabric/connection.py", line 721, in run return self._run(self._remote_runner(), command, **kwargs) File "venv/lib/python3.7/site-packages/invoke/context.py", line 101, in _run return runner.run(command, **kwargs) File "venv/lib/python3.7/site-packages/invoke/runners.py", line 363, in run return self._run_body(command, **kwargs) File "venv/lib/python3.7/site-packages/invoke/runners.py", line 422, in _run_body return self.make_promise() if self._asynchronous else self._finish() File "venv/lib/python3.7/site-packages/invoke/runners.py", line 489, in _finish raise UnexpectedExit(result) invoke.exceptions.UnexpectedExit: Encountered a bad command exit code! Command: 'st2 run core.http url="http://httpbin.org/get"' Exit code: 1 我错过了什么设置吗? 在fabric 2中,您必须生成令牌并在env中设置ST2_AUTH_TOKEN。然后执行剩下的命令 with Connection(host=ss_host, user=user, gateway=Connection(host=ss_bast), inline_ssh_env=True) as ss_conn: token = ss_conn.run('st2 auth <username> -p <password> -t', hide=True).stdout.strip() ss_conn.config.run.env = {"ST2_AUTH_TOKEN": token}

回答 1 投票 0

从message.py中得到错误 - 执行fabric.Connection.run()时,paramiko“‘bool’类型的对象没有len()”

我使用fabric 2.6.0,paramiko 2.9.2并调用1.4.0 这是错误还是不兼容的东西我收到了这样的错误。 文件“/usr/local/lib/python3.7/dist-packages/paramiko/message.py”, 林...

回答 1 投票 0

Fabric 2.5:无法向目标主机提供 sudo 密码

我正在尝试学习fabric 2.5,但我很挣扎。我读过很多页,试图忽略那些涉及旧织物版本的内容。 我运行以下命令,得到了密码已提交给 p...

回答 2 投票 0

Fabric:快捷方式表未在 SQL 端点中显示

我有一个带有两个工作区的结构容量。我在其中一个仓库中有一些表,我们称之为 ws1,我在工作区 ws2 的 Lakehouse 中拥有这些表的快捷方式。 在 ws2 中我可以在 SQL 中

回答 1 投票 0

Python SFTP Connection Fabric files.exist 找不到该文件

我正在维护一位退休同事编写的代码。此代码使用 Fabric 2.7.1 从我们的旧 FTP 服务器下载文件。 从结构导入连接 从拼凑导入文件 ... 如果不是文件。

回答 1 投票 0

动态组合多个 PySpark DataFrame:将每个 DataFrame 的静态列与年度动态列合并

我拥有多个 PySpark DataFrame,需要将它们连接或联合以生成具有以下结构的最终 DataFrame: 输入: df1 :[colA, colB, colC, avg_salary_y2020] df2 :[colA,

回答 1 投票 0

Terraform 将 Fabric 容量与工作空间连接起来

我正在尝试创建一个 terraform,将结构容量分配给结构工作区 (Power BI.com) 我已经成功地从 terraform 创建了容量和工作空间,但由于某种原因我保留了

回答 1 投票 0

Fabric.js 和react、sendBackward 和bringForward 被报告为不具有功能,尽管其他结构选项/功能正在工作

这是一个 React/Fabric.js 测试,我正在尝试找出我在移动堆栈中的对象时做错了什么。画布初始化以及红色和蓝色框都在那里,它们可以被操纵

回答 1 投票 0

如何将 DF 合并到 For 循环中,作为新的 DF - Pandas

我想从文件夹加载新文件,然后清理并将它们合并为一个 DF,我尝试过 pd.concat 、 df.join 和 merge() 但我似乎无法让它对 2 执行此操作单独的文件/df 是如何...

回答 1 投票 0

如何在 For 循环中合并 DF,作为新的 DF - Pandas

我想从文件夹加载新文件,然后清理并将它们合并为一个 DF,我尝试过 pd.concat 、 df.join 和 merge() 但我似乎无法让它对 2 执行此操作单独的文件/df 是如何...

回答 1 投票 0

将极坐标数据帧写入 Microsoft Lakehouse 中的增量表

我目前正在开展一个项目,在 Fabric Notebook 中使用 Polars,我想将此数据保存到 Microsoft Fabric Lakehouse 内的 Delta 表中。我在想一些事情...

回答 1 投票 0

错误:错误的提案响应 500:无法从创世块创建分类帐:LedgerID 已存在

fabric的测试网络出现问题。 命令: ./network.sh 创建频道 问题 频道“mychannel”已创建 正在加入 org1 对等通道... 使用组织1 + 同行 c...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.