当前位置: 首页 > 知识库问答 >
问题:

加速我的画布应用程序的提示

百里杰
2023-03-14

这是关于WEB开发、画布和HTML5的。

我正在用HTML5画布和JQuery开发一个绘画应用程序。您可以绘制多个图层,并获得带有放大镜效果的动态缩放。

架构是多画布:

背景:

  • 画布背景

层:

>

第1层

第2层

...

  • 分层的

工具:

>

  • 幽灵(当用户想要画线时显示“幽灵”线。释放鼠标确认绘制)

    放大图层

    我的问题是缩放。为了获得我想要的效果,我在放大图层上重新绘制了所有图层。当然,当您绘制2000*2000的图片时,它非常慢。更常见的是,您可以移动放大镜以缩放任何地方,并且在MouseMoveEvent上重新绘制。

    为了更快,我只画了玻璃下的一小块区域(而不是整个图层)。但是它仍然很慢。我怎么才能加快速度呢?

    插图:http://imgur.com/hAtYsZi

    您可以在黑色圆圈中看到该区域被缩放。我使用此代码开始:

    Démo:http://www.script-tutorials.com/demos/167/index.html

  • 共有1个答案

    梅欣然
    2023-03-14

    试试这个...可能会有帮助。

    我猜你在做传统的“放大”:你以降低的分辨率显示,然后以全分辨率“放大”。

    因此,当用户选择放大镜工具时,将所有层“展平”到另一个画布上。

    然后将平面画布缓存到1/2分辨率的图像中。这将成为你的未修饰背景。

    最后做一个放大技巧:从平坦的画布上抓取适当的像素,并在浮动放大镜中显示它们。

    是的,展平图像需要一些开销时间,但这可能会被用户选择和定位放大镜所需的时间所抵消。

     类似资料:
    • 我正在开发一个应用程序,它有rest API调用和4个选项卡,使用页面滑动选项卡条,但我的问题是,当我从左向右移动选项卡时,显示页面已经太晚了,并点击了5到8秒为什么?这里我用的是碎片。我的应用程序很像what’s应用程序。 提前谢谢`

    • 我可以用这样的代码在市场上发布我的应用程序吗 我阅读那个严格模式只是为了调试,当我发布应用程序时,我必须删除它。

    • 我去了我的应用服务 在那里我启用了:应用程序日志记录(Blob)和Web服务器日志记录(存储) 上面的设置开始记录一个. log文件,其中每一行都是对我的应用的HTTP请求,标题如下: 我感兴趣的是为服务器响应HTTP 500的请求记录发布的JSON。我如何从Azure门户实现这一点?

    • 我试图更新层的QgsProject实例与计时器在一个新的线程,并显示更新的数据在QMain Window.但是无论我如何改变属性/特性/层,它总是冻结应用程序。我知道QgisProject存在于主线程中,所以是否有可能在不冻结应用程序的情况下更改一个层?如果是怎样? 下面的代码是我试图在一个额外的线程中做的。

    • 问题内容: 为了加快JVM的启动时间,Sun开发人员认为在JVM的安装过程中预编译平台的标准运行时类是一个好主意。这些预编译的类可以在以下位置找到: $ JAVA_HOME \ jre \ bin \ client \ classes.jsa 我公司目前正在开发一个带有独立JRE的Java独立应用程序,因此,通过向此jsa文件中添加我们自己的应用程序类来加快我们的应用程序启动时间也是一个不错的选择

    • 我正在尝试添加滚动视图。在我向XML布局文件添加ScrollView之前,一切都正常工作,然后我的应用程序就崩溃了。我该如何解决这个问题?请您建议我如何解决将ScrollView添加到布局而不对视图属性进行太多更改,特别是id的ImageView应该是。 下面是XML代码: