您的问题似乎不完整,您是想询问关于C语言编程的相关内容吗?比如C语言的语法、编程技巧、项目开发等。请提供更具体的问题,我会尽力为您解答。

2026-03-27 00:121阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计758个文字,预计阅读时间需要4分钟。

您的问题似乎不完整,您是想询问关于C语言编程的相关内容吗?比如C语言的语法、编程技巧、项目开发等。请提供更具体的问题,我会尽力为您解答。

目录+文章描述+开发环境+.NET+F

这个效果可能让很多人在抖音上看得眼花缭乱,只需将一段短视频转化为由数字、字母等乱码组成的格式,进行播放即可。+开发环境+Microsoft .NET Framework

目录
  • 文章描述
  • 开发环境
  • 开发工具
  • 实现代码
  • 实现效果

文章描述

这个效果可能很多人都在抖音看到过,即把一个短视频,转成数字、字母等乱码组成的形式进行播放。

开发环境

.NET Framework版本:4.5

您的问题似乎不完整,您是想询问关于C语言编程的相关内容吗?比如C语言的语法、编程技巧、项目开发等。请提供更具体的问题,我会尽力为您解答。

开发工具

Visual Studio 2013

实现代码

private void btn_convert_Click(object sender, EventArgs e) { string framePath = Application.StartupPath + "\\temp"; if (Directory.Exists(framePath)) { Directory.Delete(framePath, true); } Directory.CreateDirectory(framePath); //string newFramePath = Application.StartupPath + "\\newTemp"; //if (Directory.Exists(newFramePath)) //{ // Directory.Delete(newFramePath, true); //} //Directory.CreateDirectory(newFramePath); FFmpegUtil.Split(axWindowsMediaPlayer1.URL, framePath); List<char> listChar = new List<char>(); for (char i = 'a'; i <= 'z'; i++) { listChar.Add(i); } for (char i = 'A'; i <= 'Z'; i++) { listChar.Add(i); } for (char i = '0'; i <= '9'; i++) { listChar.Add(i); } string[] imgUrls = Directory.GetFiles(framePath); Bitmap img = null; for (int u = 0; u < imgUrls.Length; u++) { img = (Bitmap)Image.FromFile(imgUrls[u]); double threshold = ImageUtil.GetAverageThreshold(img); ImageUtil.Threshold(img, threshold); StringBuilder builder = new StringBuilder(); Random random = new Random(); for (int y = 0; y < img.Height; y += 16) { for (int x = 0; x < img.Width; x += 8) { if (ImageUtil.GetGrayValue(img.GetPixel(x, y)) < threshold) { builder.Append(listChar[random.Next(62)]); } else { builder.Append(" "); } } builder.Append("\r\n"); } File.WriteAllText(@"C:\Users\Zero\Desktop\a\b\" + u + ".txt", builder.ToString()); } MessageBox.Show("转换完成"); } private void btn_show_Click(object sender, EventArgs e) { new FormShow(@"C:\Users\Zero\Desktop\a\b\").Show(); }

private void FormShow_Load(object sender, EventArgs e) { List<string> list = Directory.GetFiles(_path, "*.txt").ToList(); if (list.Count == 0) { return; } list.Sort((a, b) => { string reg = "[0-9]+"; int a_index = int.Parse(Regex.Match(a, reg).Value); int b_index = int.Parse(Regex.Match(b, reg).Value); return a_index.CompareTo(b_index); }); richTextBox1.Text = File.ReadAllText(list[0]); Width = richTextBox1.Lines.Max(s => s).Length * 5; Height = richTextBox1.Lines.Length * 10; Location = new Point(Location.X, 10); new Task(async () => { foreach (string str in list) { if (!this.IsDisposed) { this.BeginInvoke(new Action(() => { richTextBox1.Text = File.ReadAllText(str); })); } await Task.Delay(260); } }).Start(); }

实现效果

代码解析:实现原理是首先利用ffmpeg将视频分割成一帧帧的图片,然后将每张图片进行一个二值化处理,最后判断灰度值,大于阈值的情况下随便输入一个字符,否则就输入空格。这里是使用了字符串来记录了各个图片的生成情况,最后保存到一个个的记事本中去。

在展示页面中,只需要将文件夹中的记事本文档按照顺序排列并逐个读取显示即可。

到此这篇关于基于C#实现乱码视频效果的文章就介绍到这了,更多相关C#乱码视频内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!

标签:乱码

本文共计758个文字,预计阅读时间需要4分钟。

您的问题似乎不完整,您是想询问关于C语言编程的相关内容吗?比如C语言的语法、编程技巧、项目开发等。请提供更具体的问题,我会尽力为您解答。

目录+文章描述+开发环境+.NET+F

这个效果可能让很多人在抖音上看得眼花缭乱,只需将一段短视频转化为由数字、字母等乱码组成的格式,进行播放即可。+开发环境+Microsoft .NET Framework

目录
  • 文章描述
  • 开发环境
  • 开发工具
  • 实现代码
  • 实现效果

文章描述

这个效果可能很多人都在抖音看到过,即把一个短视频,转成数字、字母等乱码组成的形式进行播放。

开发环境

.NET Framework版本:4.5

您的问题似乎不完整,您是想询问关于C语言编程的相关内容吗?比如C语言的语法、编程技巧、项目开发等。请提供更具体的问题,我会尽力为您解答。

开发工具

Visual Studio 2013

实现代码

private void btn_convert_Click(object sender, EventArgs e) { string framePath = Application.StartupPath + "\\temp"; if (Directory.Exists(framePath)) { Directory.Delete(framePath, true); } Directory.CreateDirectory(framePath); //string newFramePath = Application.StartupPath + "\\newTemp"; //if (Directory.Exists(newFramePath)) //{ // Directory.Delete(newFramePath, true); //} //Directory.CreateDirectory(newFramePath); FFmpegUtil.Split(axWindowsMediaPlayer1.URL, framePath); List<char> listChar = new List<char>(); for (char i = 'a'; i <= 'z'; i++) { listChar.Add(i); } for (char i = 'A'; i <= 'Z'; i++) { listChar.Add(i); } for (char i = '0'; i <= '9'; i++) { listChar.Add(i); } string[] imgUrls = Directory.GetFiles(framePath); Bitmap img = null; for (int u = 0; u < imgUrls.Length; u++) { img = (Bitmap)Image.FromFile(imgUrls[u]); double threshold = ImageUtil.GetAverageThreshold(img); ImageUtil.Threshold(img, threshold); StringBuilder builder = new StringBuilder(); Random random = new Random(); for (int y = 0; y < img.Height; y += 16) { for (int x = 0; x < img.Width; x += 8) { if (ImageUtil.GetGrayValue(img.GetPixel(x, y)) < threshold) { builder.Append(listChar[random.Next(62)]); } else { builder.Append(" "); } } builder.Append("\r\n"); } File.WriteAllText(@"C:\Users\Zero\Desktop\a\b\" + u + ".txt", builder.ToString()); } MessageBox.Show("转换完成"); } private void btn_show_Click(object sender, EventArgs e) { new FormShow(@"C:\Users\Zero\Desktop\a\b\").Show(); }

private void FormShow_Load(object sender, EventArgs e) { List<string> list = Directory.GetFiles(_path, "*.txt").ToList(); if (list.Count == 0) { return; } list.Sort((a, b) => { string reg = "[0-9]+"; int a_index = int.Parse(Regex.Match(a, reg).Value); int b_index = int.Parse(Regex.Match(b, reg).Value); return a_index.CompareTo(b_index); }); richTextBox1.Text = File.ReadAllText(list[0]); Width = richTextBox1.Lines.Max(s => s).Length * 5; Height = richTextBox1.Lines.Length * 10; Location = new Point(Location.X, 10); new Task(async () => { foreach (string str in list) { if (!this.IsDisposed) { this.BeginInvoke(new Action(() => { richTextBox1.Text = File.ReadAllText(str); })); } await Task.Delay(260); } }).Start(); }

实现效果

代码解析:实现原理是首先利用ffmpeg将视频分割成一帧帧的图片,然后将每张图片进行一个二值化处理,最后判断灰度值,大于阈值的情况下随便输入一个字符,否则就输入空格。这里是使用了字符串来记录了各个图片的生成情况,最后保存到一个个的记事本中去。

在展示页面中,只需要将文件夹中的记事本文档按照顺序排列并逐个读取显示即可。

到此这篇关于基于C#实现乱码视频效果的文章就介绍到这了,更多相关C#乱码视频内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!

标签:乱码