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

推荐订阅源

Vercel News
Vercel News
F
Fortinet All Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
GbyAI
GbyAI
MongoDB | Blog
MongoDB | Blog
Jina AI
Jina AI
aimingoo的专栏
aimingoo的专栏
I
InfoQ
IT之家
IT之家
罗磊的独立博客
Blog — PlanetScale
Blog — PlanetScale
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
The Cloudflare Blog
爱范儿
爱范儿
Microsoft Azure Blog
Microsoft Azure Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
美团技术团队
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
B
Blog RSS Feed
G
Google Developers Blog
大猫的无限游戏
大猫的无限游戏
博客园_首页
Engineering at Meta
Engineering at Meta
Martin Fowler
Martin Fowler

喵'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

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

微信支付 微信支付

支付宝 支付宝