c#winform,倒鴨子字幕效果,typemonkey字幕效果,抖音瀑布流字幕效果

不廢話 直接上效果圖
C# winform 開發抖音的瀑布流字幕。
也是typemonkey插件字幕效果
或者咱再網上常說的倒鴨子字幕效果

主要功能

1,軟件可以自定義添加字幕內容
2,軟件可以添加字幕顯示的時間區間
3,可以自定義字幕顏色,可以隨機顏色
4,支持字幕的上下調節
5,支持字幕的刪除行和清空
6,支持字幕的導出和導入
7,支持上傳背景音樂mp3
8,支持更換背景顏色和背景圖片
9,支持導入srt字幕文件,也就是剪映導出的字幕文件,這樣能有效的把字幕和口播的音頻進行對齊。
10,可以自定義字幕的字體。

下面給大家展示一下功能圖片

         // 定義內容文本數組,調整了每行字幕的持續時間let contentTexts = [{ "inPoint": 0, "outPoint": 1500, "content": "嘟", "color": "#FF0000", "fontFamily": "Microsoft YaHei"},{ "inPoint": 1500, "outPoint": 3000, "content": "您好", "color": "#33FF57", "fontFamily": "字由點字墩墩體"},{ "inPoint": 3000, "outPoint": 4500, "content": "您是大法師嗎?", "fontFamily": "抖音美好體"},{ "inPoint": 4500, "outPoint": 6000, "content": "哎", "color": "#3357FF", "fontFamily": "抖音美好體"},{ "inPoint": 6000, "outPoint": 7500, "content": "1212哎", "color": "#3357FF", "fontFamily": "Microsoft YaHei"},{ "inPoint": 7500, "outPoint": 9000, "content": "哎222222", "color": "#3357FF", "fontFamily": "抖音美好體"},{ "inPoint": 9000, "outPoint": 10500, "content": "哎3333333333", "color": "#3357FF", "fontFamily": "Microsoft YaHei"},{ "inPoint": 10500, "outPoint": 12000, "content": "3333哎", "color": "#3357FF", "fontFamily": "Arial"},{ "inPoint": 12000, "outPoint": 13500, "content": "22222222222222哎", "color": "#3357FF", "fontFamily": "抖音美好體"},{ "inPoint": 13500, "outPoint": 15000, "content": "哎", "color": "#3357FF", "fontFamily": "Arial"},{ "inPoint": 15000, "outPoint": 18000, "content": "111111111111111哎", "color": "#3357FF", "fontFamily": "Arial"},];	

例如 導入srt文件的c# 代碼
?

      private void ParseSRTFile(string filePath){string[] lines = File.ReadAllLines(filePath);dgv_lens.Rows.Clear(); // Clear existing rows// Temporary variables for SRT parsingstring currentContent = "";TimeSpan inPoint = TimeSpan.Zero;TimeSpan outPoint = TimeSpan.Zero;Random random = new Random();string[] colors = new string[]{"#5AAEF3", "#62D9AD", "#5B6E96", "#a8dffa", "#ffdc4c","#FF974C", "#E65A56", "#6D61E4", "#4A6FE2", "#6D9AE7","#23C2DB", "#D4EC59", "#FFE88E", "#FEB64D", "#FB6E6C"};// Parsing logicfor (int i = 0; i < lines.Length; i++){string line = lines[i].Trim();// Check for time codeif (line.Contains("-->")){// Split the time codesvar timeCodes = line.Split(new[] { " --> " }, StringSplitOptions.None);if (timeCodes.Length == 2){try{inPoint = TimeSpan.ParseExact(timeCodes[0].Trim(), @"hh\:mm\:ss\,fff", CultureInfo.InvariantCulture);outPoint = TimeSpan.ParseExact(timeCodes[1].Trim(), @"hh\:mm\:ss\,fff", CultureInfo.InvariantCulture);}catch (FormatException ex){MessageBox.Show($"Error parsing time codes: {ex.Message}", "Parsing Error", MessageBoxButtons.OK, MessageBoxIcon.Error);return; }}}else if (!string.IsNullOrEmpty(line) && !line.All(char.IsDigit)){// This line is the contentcurrentContent = line;// Add the row to the DataGridViewint index = dgv_lens.Rows.Add();dgv_lens.Rows[index].Cells[0].Value = currentContent;dgv_lens.Rows[index].Cells[1].Value = cbRandomColor.Checked ? colors[random.Next(colors.Length)] : lbTextColor.Tag.ToString();dgv_lens.Rows[index].Cells[2].Value = (int)inPoint.TotalMilliseconds; // Convert TimeSpan to millisecondsdgv_lens.Rows[index].Cells[3].Value = (int)outPoint.TotalMilliseconds; // Convert TimeSpan to millisecondsdgv_lens.Rows[index].Cells[4].Value = cbFonts.Text; // Current font selection}}MessageBox.Show("SRT file imported successfully!", "Import Successful", MessageBoxButtons.OK, MessageBoxIcon.Information);}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/899739.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/899739.shtml
英文地址,請注明出處:http://en.pswp.cn/news/899739.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Pycharm(八):字符串切片

一、字符串分片介紹 對操作的對象截取其中一部分的操作&#xff0c;比如想要獲取字符串“888666qq.com前面的qq號的時候就可以用切片。 字符串、列表、元組都支持切片操作。 語法&#xff1a;字符串變量名 [起始:結束:步長] 口訣&#xff1a;切片其實很簡單&#xff0c;只顧頭來…

圖片解釋git的底層工作原理

&#xff08;圖片來源&#xff1a;自己畫的&#xff09; 基于同一個commit創建新分支 &#xff08;圖片來源&#xff1a;書籍《Linux運維之道》 ISBN 9787121461811&#xff09; 在新分支上修改然后commit一次 &#xff08;圖片來源&#xff1a;書籍《Linux運維之道》 ISBN 978…

leetcode994.腐爛的橘子

思路源自 【力扣hot100】【LeetCode 994】腐爛的橘子&#xff5c;多源BFS 這里圖中的腐爛的的橘子是同時對周圍進行腐化&#xff0c;所以采用多源bfs就能解決 多源bfs與單源bfs的區別就在于隊列取出時一輪是取出隊列當中的全部元素 class Solution {public int orangesRotti…

【華為OD技術面試真題 - 技術面】- Java面試題(15)

華為OD面試真題精選 專欄:華為OD面試真題精選 目錄: 2024華為OD面試手撕代碼真題目錄以及八股文真題目錄 介紹下TCP/UDP TCP(傳輸控制協議)和 UDP(用戶數據報協議) TCP(Transmission Control Protocol)和 UDP(User Datagram Protocol)是兩種常見的傳輸層協議,主要…

?在 Fedora 系統下備份遠程 Windows SQL Server 數據庫的完整方案

?一、環境準備與工具安裝? ?1. 安裝 Microsoft SQL Server 命令行工具? Fedora 需安裝 mssql-tools 和 ODBC 驅動&#xff1a; # 添加 Microsoft 倉庫 sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/8/prod.repo# 安裝工具包 …

DeepSeek:巧用前沿AI技術,開啟智能未來新篇章

引言 近年來&#xff0c;人工智能&#xff08;AI&#xff09;技術迅猛發展&#xff0c;大模型成為全球科技競爭的核心賽道。在這場AI革命中&#xff0c;DeepSeek作為中國領先的大模型研發團隊&#xff0c;憑借其創新的技術架構、高效的訓練方法和廣泛的應用場景&#xff0c;迅…

R語言實現軌跡分析--traj和lcmm包體會

R語言實現軌跡分析–traj和lcmm包體會 軌跡分析是對重復測量數據的一種歸納&#xff0c;轉化為一種分類變量&#xff0c;比如手術后1&#xff5e;7天內的疼痛評分&#xff0c;可以形成術后急性痛軌跡。形成的軌跡作為一個分類變量&#xff0c;可以用于預測疾病的預后&#xff…

Vue 3 事件總線詳解:構建組件間高效通信的橋梁

Vue 3 事件總線詳解&#xff1a;構建組件間高效通信的橋梁 為什么需要事件總線&#xff1f;使用 mitt 實現事件總線1. 安裝 mitt2. 創建事件總線3. 在組件中使用事件總線發送端組件&#xff08;例如 ComponentA.vue&#xff09;接收端組件&#xff08;例如 ComponentB.vue&…

MySQL的基礎語法1(增刪改查、DDL、DML、DQL和DCL)

目錄 一、基本介紹 二、SQL通用語法 三、SQL分類(DDL、DML、DQL、DCL) 1.DDL 1.1數據庫操作 1.2表操作 1.2.1表操作-查詢創建 1.2.2表操作-數據類型 1&#xff09;數值類型 2&#xff09;字符串類型 3&#xff09;日期時間類型?編輯 4&#xff09;表操作-案例 1.2.3…

【NLP】15. NLP推理方法詳解 --- 動態規劃:序列標注,語法解析,共同指代

動態規劃 (Dynamic Programming) 動態規劃&#xff08;Dynamic Programming&#xff0c;簡稱 DP&#xff09;是一種通過將問題分解為較小子問題來優化計算效率的技術。它特別適用于優化最優解問題&#xff0c;比如序列標注&#xff08;sequence tagging&#xff09;這類任務。…

JavaScript中的NaN、undefined和null 的區別

NaN代表"Not a Number",它是一種特殊的數值,用于表示非數字值。當一個操作無法返回有效的數值時,通常會得到NaN作為結果。 let result = 10 / abc; console.log(result); // 輸出 NaN需要注意的是,NaN與自身不相等,我們無法通過簡單的比較操作符(如==或===)來…

Turtle事件處理(鍵盤與鼠標交互)

Turtle 提供了 事件驅動編程,允許我們使用 鍵盤 和 鼠標 控制 Turtle,從而實現交互式繪圖。例如,我們可以讓 Turtle 響應 按鍵、鼠標點擊 和 拖動 事件,使其根據用戶的輸入進行移動、旋轉或繪制圖形。 1. 事件機制概述 Turtle 的事件處理主要依賴 turtle.Screen() 提供的 …

【Keepalived】Keepalived-2.3.3明確結束對CentOS 7的支持

2025年3月30日&#xff0c;官方發布了Keepalived的最新版&#xff0c;版本號&#xff1a;2.3.3 而2024年11月3日發布的2.3.2版本&#xff0c;在CentOS 7.9上編譯的時候&#xff0c;就出現了報錯&#xff0c;但是在Alma Linux 8.10上&#xff0c;則可以成功編譯安裝&#xff0c…

PyTorch --torch.cat張量拼接原理

在 PyTorch 的 torch.cat 函數中&#xff0c;out 參數用于指定輸出張量的存儲位置。是否使用 out 參數直接影響結果的存儲方式和張量的內存行為。以下是詳細解釋&#xff1a; 不使用 out 參數&#xff08;默認行為&#xff09; 含義&#xff1a;不提供 out 參數時&#xff0c;…

人工智能之數學基礎:矩陣對角化的本質

本文重點 前面的課程中,我們學習了矩陣的對角化,基于對角化可以將矩陣A轉變為對角矩陣D,但是你有沒有想過,為什么要進行矩陣對角化,矩陣對角化究竟做了一件什么事情呢? 矩陣對角化的本質 幾何解釋: 從幾何變換的角度看,矩陣對角化意味著我們找到了一組基,使得線性變…

ubuntu的ubuntu--vg-ubuntu--lv磁盤擴容

在我們安裝ubuntu時&#xff0c;如果選擇的是自動分區&#xff0c;就會按照邏輯卷的形式來分區&#xff0c;并且只分配100G其余的并不會被分配&#xff0c;這對我們大多數情況來說都是不合理的&#xff0c;所以&#xff0c;如何擴充呢 下面以一個小的案例來說明如何擴充 問題…

Redis BitMap 實現簽到及連續簽到統計

一、引言 用戶簽到功能是很多應用都離不開的一個板塊&#xff0c;單詞打開、QQ達人等等為我們所熟知&#xff0c;這項功能該如何實現呢&#xff0c;一些朋友可能想當然的覺得無非將每日的簽到數據記錄下來不就好了&#xff0c;不會去細想用誰記錄&#xff0c;如何記錄才合適。 …

前端國際化-插件模式

文章目錄 Webpack 插件開發解析中文調用有道翻譯 API生成 JSON 語言文件React 國際化實現 Webpack 插件開發 創建 i18n-webpack-plugin.js 插件&#xff1a;在 src 目錄下掃描所有文件使用 babel-parser 解析 JavaScript/JSX 代碼識別中文文本通過有道翻譯 API 翻譯生成 local…

IP屬地和發作品的地址不一樣嗎

在當今這個數字化時代&#xff0c;互聯網已經成為人們日常生活不可或缺的一部分。隨著各大社交平臺功能的不斷完善&#xff0c;一個新功能——IP屬地顯示&#xff0c;逐漸走進大眾視野。這一功能在微博、抖音、快手等各大平臺上得到廣泛應用&#xff0c;旨在幫助公眾識別虛假信…

PP-ChatOCRv3新升級:多頁PDF信息抽取支持自定義提示詞工程,拓展大語言模型功能邊界

文本圖像信息抽取技術在自動化辦公、建筑工程、教育科研、金融風控、醫療健康等行業領域具有廣泛應用場景。2024年9月&#xff0c;飛槳低代碼開發工具PaddleX中新增文本圖像智能產線PP-ChatOCRv3&#xff0c;充分結合PaddleOCR的文本圖像版面解析能力和文心一言語言理解優勢&am…