更改每个像素的图像并保存到数据库

2024-01-26

我正在制作一个小网页游戏,我正在寻找一种方法来操作每个像素的图像并将其存储在 mysql 数据库中。准确地说,我需要能够执行以下操作:

  • 从 mysql 数据库加载图像(250 x 250px)到屏幕上(图像不可见。例如,每个像素的 alpha 为 0);
  • 随机选取几个像素并将 alpha 设置为 1;
  • 将新映像保存到 mysql 数据库中的旧映像上
  • 加载具有多个可见像素的新图像;
  • 随机选取一些像素并将 alpha 设置为 1; ETC..

我已经设法让这件事发挥作用,但效率非常低。我的 mysql 数据库中有数千条记录,每条记录中都有一个存储有正确位置、颜色和可见性的像素。当图像渲染到屏幕上时,需要读出每条记录。

我看过 html5 canvas 但还没有找到正确的方法。其实,现在我不知道什么是最好的办法。希望有人可以在这里提供帮助。


有几种方法可以做到这一点。

是的,画布就是你想要的。您可以使用画布来操作图像数据(请参阅MDN 上使用 Canvas 进行像素操作 https://developer.mozilla.org/en-US/docs/HTML/Canvas/Pixel_manipulation_with_canvas).

为了保存到服务器并恢复,您不应使用数千条记录。您应该使用类似于单个 base64 字符串的内容来描述您的图像。 canvas API 有一个方法来检索它,称为toDataURL().

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更改每个像素的图像并保存到数据库 的相关文章

  • HTML5 文本画布在文本宽度大于允许的最大宽度时旋转

    朋友们 我发现旋转文本画布对象有点棘手 问题是 我正在绘制一个图形 但有时每个条形的宽度小于该条形的 值 所以我必须将 值 评定为 90 度 在大多数情况下它都会起作用 我正在做以下事情 a function x y text maxWid
  • 将外部 svg 调用到另一个 svg

    我有多个内联 svgs 所有这些都有一个共同的路径 一个图像 通常这个公共部分应该定期更改 因此 如果我将公共区域保存为单独的 svg 文件 是否可以将通用 svg 文件调用到另一个内联 svg 中 E g main svg
  • 如何在fabricJS中通过鼠标选择被覆盖的对象?

    我正在尝试开发一种方法来选择分层在下面并 完全 被其他对象覆盖的对象 一种想法是选择顶部对象 然后通过doubleclick向下穿过层层 这就是我现在得到的 var canvas new fabric Canvas c fabric uti
  • 如何使用画布应用 alpha 图层蒙版以使某些图像透明

    有人可以帮我解决这个问题吗 我想使用画布应用 alpha 图层蒙版以使某些图像透明 多谢 var redImageData redCanvas getContext 2d getImageData 0 0 200 200 overlay v
  • 使 JavaScript 画布矩形可点击

    我正在创建一个简单的计算器 Here http startupsandfinance com online calculator html这是 我几乎完成了基本设计 但我对如何使按钮可点击感到困惑 一个技巧可能是为每个按钮创建一个 div
  • 如何为多个画布图像填充颜色?

    这是我第一次使用 html5 canvas 我还不知道它是如何工作的 我的问题是 我必须修改画布中图像的颜色 如果只有一张图像 这很容易 但是 我会有不止一张 换句话说 重叠的图像 为了进一步理解我的问题 我创建了一个插图 只有 2 个图像
  • 在 HTML 画布上绘制线宽连续变化的线条

    我试图画一条线 从一条细线开始 然后逐渐加宽直到结束 我需要绘制半平滑曲线 由几条直线合成 并且在寻找解决此任务的方法时遇到问题 这个小提琴显示了我的问题 http jsfiddle net ZvuQG 1 http jsfiddle ne
  • HTML Canvas:如何绘制翻转/镜像图像?

    当我在 HTML 画布上绘制图像时 我试图翻转 镜像图像 我发现一个游戏教程显示了角色必须面对的每个方向的精灵表 但这对我来说似乎不太正确 特别是因为每个框架都有不同的尺寸 实现这一目标的最佳技术是什么 我尝试致电setScale 1 1
  • 将 css 背景设置为本地存储中的图像

    我希望将 base64 格式的图像存储在密钥中的本地存储中ImgStorage在CSS背景中像这样 data image png base64 iVBORw0KGgoAAAANS 到目前为止 我尝试了两种方法 1 从存储加载并放入css标签
  • 使用画布矩形裁剪图像

    裁剪图像无法正常工作 我哪里错了 我的Xaml
  • 尝试使用掩码裁剪位图会抛出 IllegalArgumentException:

    我正在使用以下代码 public void cropSelection Bitmap bitmap annotationBitmap copy annotationBitmap getConfig true Canvas canvas ne
  • KineticJS - 将舞台缩放到视口

    我正在努力将默认分辨率设置为 1366x756 我会根据视口来放大和缩小它 类似于此处显示的示例 http blogs msdn com b davrous archive 2012 04 06 modernizing your html5
  • 是否可以像 html 视频元素一样将流作为源添加到 html canvas 元素?

    根据MDN The HTMLMediaElement https developer mozilla org en US docs Web API HTMLMediaElement界面添加到HTMLElement属性 支持基本媒体相关功能所
  • SVG 在 Firefox 中渲染得很糟糕

    我正在制作带有滑动轮播的信息图表 li 我认为 尽管 FF 中 SVG 的错误已得到解决 但 SVG 在 Firefox 中显示为像素化 有人能看到这个问题的解决办法吗 URL http weaver wp weavertest com r
  • JavaScript 原型继承和 html canvas

    我是一名 Ruby 开发人员 最终决定认真学习 JavaScript 所以我买了一些书 开始深入研究 但当我试图理解原型继承时 我很快就陷入了困境 这本书的例子之一如下 给定一个 Shape 其原型有一个绘制方法 以及两个子形状 一个 Tr
  • Android:canvas.drawBitmap() 方法无法正常工作

    我已经发布了两个与此相关的问题 请参考此自定义饼图 1 https stackoverflow com questions 28343600 customize pie chart in quarter shape at the botto
  • html canvas动画卡顿

    谁能解释为什么提供的画布动画断断续续 我创建了一个测试存根来演示该问题 我在桌面上的 FF Chrome IE 以及 Android 上的 FF 和 Chrome 中看到了卡顿现象 口吃是由于垃圾收集造成的吗 似乎 raf 在每次调用时都会
  • 如何重置捕获像素的值

    我正在尝试创建一个 C 函数 该函数返回屏幕截图位图中每四个像素的 R G 和 B 值 这是我的代码的一部分 for int ix 4 ix lt 1366 ix ix 4 x x 4 for int iy 3 iy lt 768 iy i
  • 如何在android中画一条曲线?

    我是 Android 新手 正在开发一个关于绘制线条的示例项目 我想画一条连接两点的曲线或高架线 x1 y1 and x2 y2 我试过canvas drawArc 方法 但是RectF内的值drawArc方法只是圆的 x y 中心点 它在
  • javascript ImageData 类型数组读取整个像素?

    所以有很多关于如何的例子writeImageData 对象的 Uint32Array 视图中的整个像素 但是是否可以在不将计数器增加 4 倍的情况下读取整个像素呢 从hacks mozilla org https hacks mozilla

随机推荐

  • 如何在两个不同的docker容器中的两个django应用程序之间建立连接?

    我创建了两个应用程序 myapi 和 minombre 其中 minombre 将向 myapi 发出一个简单的 GET 请求 并将它们放入两个单独的 docker 容器中 在运行 docker compose up 后 容器运行 但api
  • 无法使用 DBeaver 连接到 MariaDB

    我刚刚在 Ubuntu 18 04 上安装了 MariaDB 10 1 29 从命令行我可以使用 sudo 连接 sudo mysql u root p 但并非没有 sudo 另外 如果我尝试通过连接到数据库DBeaver https db
  • 需要更好的方法使用 jquery 验证插件来验证 ASP.NET 复选框吗?

    Problem 我想使用 jquery 验证插件来验证一些 ASP NET 复选框 位于 http bassistance de jquery plugins jquery plugin validation http bassistanc
  • Windows 上 JDK 8 的默认 -Xss 值

    Oracle 说在 Windows 上 http docs oracle com javase 8 docs technotes tools windows java html Xsssize 默认值取决于虚拟内存 我如何找出给定 Orac
  • Windows 上的“docker-compose up”失败,Mysql 容器步骤出现错误

    我正在尝试使用 docker 和 docker compose yml 在 phpstorm 中设置在 Windows 10 上进行 php 开发的环境 但在 Mysql 设置步骤中遇到了一些错误 找不到问题 这是我的 docker com
  • 连接字符串的节点内存使用情况

    我有以下代码来测试节点虚拟机的内存使用情况 setInterval gt console log process memoryUsage 1000 gt const MAXTIMES 10000000 let a gt let res fo
  • 更新 Android SDK 工具 REV 22 后出现错误“无法解析 L 的超类”

    昨天项目还好 但是今天更新Sdk工具和ADT REV 22 时 运行项目时出现 无法解析L的超类 之类的错误 我的项目使用 ActionbarSherlock 和 SlidingMenu 我已经尝试过 将外部 jar 复制到我的项目的 li
  • 为什么 pthread-win32 中主线程比工作线程慢?

    void worker void int clk clock float val 0 for int i 0 i 100000000 i val sin i printf val f n val printf worker d ms n c
  • 如何针对 GitHub 问题上的特定分支

    我想知道是否可以目标问题到存储库的特定分支 使用案例 我有一个有 1 个主分支的仓库 和2个开发分支 A 和 B 根据问题的不同 其他分支会从 A 分支和 B 分支中生长出来 我已经知道可以通过 关键字和问题编号来引用问题提交 但我希望将其
  • 从 GitLab 运行程序/管道中创建版本

    随着 2019 年 1 月 Gitlab 11 7 的发布 我们获得了新的关键功能为您的项目发布版本 https about gitlab com 2019 01 22 gitlab 11 7 released publish releas
  • 如何本地化活动记录错误消息

    我试图找出如何本地化我的 Rails 应用程序中的错误项目名称 当用户使用不正确的数据注册时会出现该错误项目名称 我想出了如何覆盖消息 但不覆盖消息的名称 例如 password 登录 电子邮件 de activerecord errors
  • PowerShell - 在特定范围内执行脚本块

    我正在尝试在 Powershell 中实现像 BDD 框架一样的 RSpec Jasmine 或者至少研究制作一个框架的潜在问题 目前 我在实现简单的前后功能时遇到问题 给定 ErrorActionPreference Stop funct
  • 如何正确创建 Zend Feed?

    我已经成功创建了一个简单的 RSS 提要 但条目不断返回为未读和更新状态 并且每次我要求邮件更新提要时 从客户端删除的条目都会重新出现 我究竟做错了什么 我使用这个简单的函数来创建 rss feed public static functi
  • jquery 设置加载后的高度

    我在设置动态加载的元素的高度时遇到了一些麻烦 我用jqueryload函数将外部 动态 页面加载到当前页面上的 div cbox 中 因为这个子页面是动态的 所以我无法事先知道内容的高度是多少 我想在加载内容后获取高度 并将容器 div 的
  • Android dropbox api 需要重新验证

    在我的应用程序中 我使用 dropbox api 来保存一些文件 没问题 身份验证后 我关闭应用程序并重新启动应用程序 每次我打开应用程序时都需要重新身份验证 我希望应用程序记住我的会话 Dropbox 教程 https www dropb
  • CMake 中预期的构建失败测试

    有时最好检查某些东西是否无法构建 例如 Next line should fail to compile can t convert const iterator to iterator my new container type iter
  • 将部分参数列表传递给 do.call()

    我正在尝试编写一个函数来测试 GBM 模型的一系列超参数 我只希望 GBM 调用中的三个参数发生变化 其余的我想保持静态 do call似乎是答案 因为它接受参数列表并将它们传递给函数 然而 我不知道是否有办法 修复 一些我不想改变的论点
  • 确保启用“Google Maps Android API v2”。当我尝试实施 Google 地图时收到此错误

    我正在使用谷歌地图 但收到此错误 我做了以下事情 得到了我的 sha1 指纹 注册了我的项目并获得了我的项目密钥 我不知道如何启用 Google Maps Android API v2 因为我尝试过的所有链接都是旧的 并且 Google 已
  • 当 PHP 中的某个键被赋值时,数组是否会隐式创建?

    只是想快速验证这一点 它与我在其他语言中的直接经验不同 在其他语言中 必须首先声明数组 然后才能填充值 是的 PHP 将自动创建一个数组给定以下任何一个 foo bar foo 1 bar foo bar bar and of course
  • 更改每个像素的图像并保存到数据库

    我正在制作一个小网页游戏 我正在寻找一种方法来操作每个像素的图像并将其存储在 mysql 数据库中 准确地说 我需要能够执行以下操作 从 mysql 数据库加载图像 250 x 250px 到屏幕上 图像不可见 例如 每个像素的 alpha