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

推荐订阅源

Recent Announcements
Recent Announcements
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
B
Blog
T
The Blog of Author Tim Ferriss
J
Java Code Geeks
腾讯CDC
D
Docker
G
Google Developers Blog
D
DataBreaches.Net
雷峰网
雷峰网
Blog — PlanetScale
Blog — PlanetScale
S
SegmentFault 最新的问题
The Cloudflare Blog
有赞技术团队
有赞技术团队
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Stack Overflow Blog
Stack Overflow Blog
大猫的无限游戏
大猫的无限游戏
量子位
美团技术团队
aimingoo的专栏
aimingoo的专栏
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Engineering at Meta
Engineering at Meta
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

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

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

微信支付 微信支付

支付宝 支付宝