惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
SegmentFault 最新的问题
Jina AI
Jina AI
罗磊的独立博客
V
Visual Studio Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
J
Java Code Geeks
U
Unit 42
Microsoft Azure Blog
Microsoft Azure Blog
B
Blog RSS Feed
爱范儿
爱范儿
酷 壳 – CoolShell
酷 壳 – CoolShell
Last Week in AI
Last Week in AI
T
The Blog of Author Tim Ferriss
腾讯CDC
Hugging Face - Blog
Hugging Face - Blog
T
Tailwind CSS Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
I
InfoQ
月光博客
月光博客
博客园_首页
Vercel News
Vercel News
P
Proofpoint News Feed
GbyAI
GbyAI
Y
Y Combinator Blog

喵's StackHarbor

OpenWrt 的 dnsmasq 和 odhcpd 可能存在冲突 在 systemd 服务失败时发送邮件 Arch Linux ARM 在树莓派上的内核选择 Emacs 在终端里大喊 OI 我始终搞不懂多光标编辑和查找替换的区别在哪 通过 Intel 无线网卡远程唤醒台式机 ReFrame:又一个 Linux 远程桌面 在 NAS 上部署更多服务 升级万兆网络 macOS 微调技巧合集 东京之旅 GNOME 和 IBus 和 Wayland 输入法 十年过去了,我买了台 MacBook Module 的意思不是 Module,Module 的意思是 Config Pango 中的 Ink 和 Logical 矩形 构建和运行 Xen HVM 和 PV kmsvnc 但是无头 谁动了我的 DNS 解析?(重制版) 使用 Headscale 和 Tailscale 构建虚拟专用网 Node 的 http.request() 需要对 response 进行错误处理 2023 年的 Arch Linux 安装指南
DaVinci Resolve 奇怪的素材位置计算逻辑
Alynx Zhou · 2023-07-28 · via 喵's StackHarbor

上一篇文章提到了 DaVinci Resolve 对于素材位置的计算逻辑非常奇怪并且不肯修改,这篇我试图概括一下具体的计算逻辑方便自己使用。如果你也遇到了同样的问题并且希望他们改进,可以去支持 我发的帖子(英语)

计算基准

缩放/裁切/位置永远以原图大小作为基准,不会互相影响。

项目设置里有“缩放原图至适配大小且不出现裁切”和“不调整原图大小并裁切超出部分”两个比较合理的选项,“缩放原图至适配大小且不出现裁切”可以理解为插入时间线之前就改变了原图大小。例如画布尺寸 1920x1080,素材尺寸 512x512,选择“缩放原图至适配大小且不出现裁切”,相当于用外部命令把素材缩放到 1080x1080 然后再插入时间线,后续缩放/裁切/位置均以 1080x1080 作为基准。

缩放

缩放变换只计算原图大小。

缩放变换默认以素材中心作为基准。由于位置变换计算太复杂了,不考虑改变锚点参数的情况。

裁切

裁切只计算原图大小。无论素材的缩放变换参数是多少,都使用原图大小计算结果。

例:画布 1920x1080,素材 512x512。

  • 选择“缩放原图至适配大小且不出现裁切”,此时原图大小是 1080x1080,左侧裁切 50% 应输入 1080 * 50% = 512
  • 选择“不调整原图大小并裁切超出部分”,此时原图大小是 512x512,左侧裁切 50% 应输入 512 * 50% = 256

由于位置变换计算太复杂了,不考虑勾选“保留图片位置”的情况。

位置

位置变换只计算原图大小。无论素材的缩放变换参数和裁切参数是多少,都使用原图大小计算结果。

DaVinci Resolve 对于素材位置输入框使用特殊的计算逻辑(怀疑是 bug),假设画布宽度为 canvas_width,画布高度为 canvas_height,原图宽度为 clip_width, 原图高度为 clip_height,如果想将素材水平方向移动 x 像素,垂直方向移动 y 像素,则需要填入的数据需要按照 f(x) = x / clip_width * canvas_widthf(y) = y / clip_height * canvas_height 进行计算。注意,按此计算逻辑,填入的两个数据的比例显然和实际移动的像素比例不同。

例:画布 1920x1080,素材 512x512。

  • 选择“缩放原图至适配大小且不出现裁切”,此时原图大小是 1080x1080,向左移动 540 像素应输入 540 / 1080 * 1920 = 960
  • 选择“不调整原图大小并裁切超出部分”,此时原图大小是 512x512,向左移动 540 像素应输入 540 / 512 * 1920 = 2025

既然看了喵写的文章,不打算投喂一下再走吗?哼!

微信支付 微信支付

支付宝 支付宝