问题标签 [image-rendering]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 将“imageSmoothingEnabled”设置为“false”在 HTML5 Canvas 上不起作用
当我在画布上绘制时,我设置imageSmoothingEnabled
了我的绘图上下文以获得清晰的像素渲染,但由于某种原因,图像变得模糊。false
下面的示例设置了一个填充黑色的 20x20 画布,并绘制了一条红色的像素对角线,并imageSmoothingEnabled
设置为false
穿过它。它在 Chrome、FF 和 Edge 中仍然模糊不清。
谁能告诉我为什么这不起作用以及如何解决?
HTML:
JS:
我设置了以下小提琴来展示我的问题:
https://jsfiddle.net/ct39rqpf/7/
注意:在小提琴中,您可以将 CSS 设置image-rendering:pixelated
为画布,它将显示我试图通过imageSmoothingEnabled
set to获得的内容false
。
编辑:我发现imageSmoothingEnabled
这只适用于缩放图像,我没有这样做。我不明白的是,当我image-rendering:pixelated
在 CSS 中应用时,我得到的图像比简单地将像素绘制到未缩放的画布上要清晰得多。为什么默认会有模糊?
html - 如何最小化要在移动设备上设置的图像
我使用下面的 URL 来设置背景图片:
https://postcron.com/en/blog/wp-content/uploads/2014/03/Untitled-design-2.png
有了这个,我可以在浏览器中正确设置背景,但是如果我在移动设备中看到相同的屏幕,我将无法看到完整的图像,因为它不是根据屏幕尺寸设置或渲染的。
有没有办法在浏览器和移动设备中显示相同的图像,或者我可以将上述图像最小化到某个尺寸并在移动设备上显示?
php - PHP 检查 file_exists 是否没有扩展名,然后根据文件路径 Ajax 具有适当媒体标签(img 或视频)的 div
第一次在这里发帖。我知道内联 php 不是首选,但我还没有将所有脚本转换为 echo json_encoded 数组以在客户端的 javascript 中工作......所以现在,我有内联 php。
我不知道用户上传媒体的扩展名,因为它可能是 jpg、mp4 等,并且在上传时它会以用户 ID 作为标识符进入媒体文件夹。
当我的用户第一次加载 div(和 html 页面)时,php 脚本循环遍历一个数组并每次从 sql 查询到数据库执行 fetch_assoc;它返回 (media_id #) 并打印出一个 li,其中相应的媒体显示在查询中的其他一些值旁边。
我只知道 (media_id) 和不带扩展名的文件路径名。当页面首次加载时,一切正常,并且 file_exists 函数正确返回。
问题
当我 AJAX div 并再次执行查询时,因为用户在数据库中添加了一行,新列表会打印出所有信息,但是 file_exists 函数无法识别与以前完全相同的路径,我没有页面上的图像或视频。
我从原始 div 复制/粘贴完全相同的代码,并将其放在一个文件中供 ajax 重新查询和打印新的 li。
所有变量都是相同的,当我对测试文件路径进行硬编码时,它打印得很好。也许有一个缓存问题?
编码
我可以就如何解决这个问题以及如何在未知媒体类型上打印适当的媒体标签提出一些建议。
输出
调试尝试
<img>
在标签中回显已知图像的确切文件路径可以正常工作。放入echo'test';
file_exists 案例什么都不做。
--
解决方案(种类)
所以我之前使用过 html 的 onerror 并且我找到了一种解决方法,尽管我仍然想知道为什么会出现错误。PSA 这使用JQuery,但javascript 也可以:
我的解决方案
javascript - 我想在一个轮播中呈现所有图像的动态列表
你好堆栈溢出社区,提前感谢你的帮助我是一个相当新的反应本机的人。对于这个项目,我已经导入了库 nuka-carousel。所以我想做的是获取一个动态的图像列表并将它们放入一个轮播对象中。我不确定 1 如何获取数据和 2 如何有一个循环将它们全部放入同一个对象中。现在我已经将它设置为接受静态输入,但我希望它是动态的。
这是图像列表数据的样子
我希望能够将这些数据中的网址放入轮播中。这是我现在拥有的代码,它目前是硬编码的。图像列表称为图像
返回 (
所有轮播的东西都有效,但我需要能够将这些网址放在轮播中,但是当我试图在标签内放置一个循环时,它会中断。
javascript - 为什么在同一画布上有些图像模糊而另一些则清晰?
在我正在处理的画布项目中,我有一个基于图块的网格,以及一个选项面板。我已经完成了一切工作,所有图像都很清晰,屏幕大小调整,没有抗锯齿等。一切(图形方面)都很完美,问题是有时我需要更改行数和列,这会改变画布的整体尺寸。由于其他一些问题,我buffer
在类内部使用了一个画布editor
,它被渲染到主画布上。
这是我的编辑器代码(只有图形):
这是主要代码(在浏览器中运行):
所有的图像一开始都很清晰,但是每当我添加或减去行或列时,所有按 2 ( this.drawToBuffer(w, x , y, z, 2)
) 缩放的图像都会变得模糊,即使我添加了一行并删除了一行。
我希望图像像第一个一样,清晰且像素化,无论我尝试什么,按比例放大的图像都不会看起来清晰,我确保它们都是整数,设置图像渲染缓冲到pixelated
,并关闭imageSmothingEnabled
。
这是完整的网站:http
://labyrinth-sweeper.herokuapp.com/
这里是完整的代码:https ://github.com/Hello-World25/Amaze-V2
我怎样才能让这些缩放的图像看起来清晰?
django - 来自数据库的图像未显示在 django 模板中
我正在尝试通过模型的表单 ImageField 将图像存储在数据库中,该模型被上传到我创建的媒体文件夹并在模板中呈现相同的内容。
这是我的文件夹结构
-文件夹结构
这是我的 settings.py 文件-
这是我的帖子应用程序的 urls.py 文件。只是通知一下,我有 3 个应用程序,即帖子、组、userAuth。
这是 post_detail.html,我试图在其中渲染图像的模板(第 8 行)-
上传部分完美运行,因为我在模板上打印 {{ post.picture }} 而不是第 8 行时得到了 pics/download.jpg
这是我的帖子应用程序的models.py-
帖子应用程序的forms.py-
这是关于渲染的 m 网页,也供参考,我在检查时打开了显示不同 url 的元素-
我得到的是损坏的图像和替代文本,而不是实际图像。
javascript - 图像数组 ReactJs 响应式轮播
我刚刚开始使用网页。我正在尝试为反应响应轮播制作一个函数,以便我可以传递一组图像并根据图像的数量进行渲染,我一直在尝试运行这样的东西:
调用乐趣.js
Carouselfun.js
我传递图像数组的方式有问题吗?还是必须与渲染功能一起使用?
谢谢
macos - MacOS - 当 VkPhysicalDeviceFeatures wideLines = VK_TURE 并且也不支持 vkCmdSetLineWidth API 时,Vulkan 在运行时 vkCreateDevice() 失败
我是 Vulkan 的新手,最近开始学习 .
我面临问题,在运行时vkCreateDevice()
失败,VkPhysicalDeviceFeatures
何时启用
VkPhysicalDeviceFeatures 功能 {}; features.wideLines = VK_TRUE; 错误 - [mvk-error] VK_ERROR_FEATURE_NOT_PRESENT: vkCmdSetLineWidth(): 当前设备不支持宽线
当 features.wideLines = VK_FALSE; vkCreateDevice() 创建成功,但我无法使用 - vkCmdSetLineWidth (command_buffer, line_width) 修改 LineWidth;这给了我
error- [mvk-error] VK_ERROR_FEATURE_NOT_PRESENT: vkCmdSetLineWidth(): 当前设备不支持宽线。
这是一些细节-
MacOS - 10.14 (Mojave) 显卡 - 显卡 - 英特尔 UHD 显卡 630 1536 MB LunarG Vulkan 实例版本:1.2.154 注意 - 当 features.wideLines = 时,Windows 上相同版本的“LunarG Vulkan 实例版本:1.2.154”工作正常VK_TRUE; 并且能够使用 vkCmdSetLineWidth (command_buffer, line_width);此处提到的 VulkanInfo 的一些细节与 WideLines 功能相关 -
VkPhysicalDevice特点:
我在 Vulkan 文档/谷歌上进行了一些搜索,但找不到任何报告类似问题的人。任何帮助,将不胜感激。