我有一个List<string>包含5个文件,例如在index [0]中我看到:
D:\New folder (45)\converted.avi_Automatic\Lightning 2 Length 4 [276 - 280]\000276.bmp
Run Code Online (Sandbox Code Playgroud)
这条线是:
label22.Text = files[_indx].ToString();
Run Code Online (Sandbox Code Playgroud)
我想要在label22中看到:D:\新文件夹(45)\ converted.avi_Automatic\Lightning 2长度4 [276 - 280]\000276.bmp仅供参考:000276.bmp
文件之前_files是一个List<FileInfo>所以我可以做_files[_indx].FullName或.Name
但现在名单是 List<string>
我的代码:
private void CreateAnimatedGif(List<string> GifsFilesRadar , List<string> GifsFilesSatellite)//string FileName1 , string FileName2)
{
Bitmap bitmap = null;
DirectoryInfo inf = new DirectoryInfo(tempGifFiles);
FileInfo[] fi = inf.GetFiles("*.gif");
for (int i = 0; i < fi.Length; i++)
{
Bitmap file1 = new Bitmap(GifsFilesRadar[i]);
Bitmap file2 = new Bitmap(GifsFilesSatellite[i]);
//calculate the new width proportionally to the new height it will have
int newWidth = file1.Width + file1.Width / (file2.Height / (file2.Height - file1.Height));
bitmap = new Bitmap(newWidth + file2.Width, Math.Max(file1.Height, file2.Height));
using (Graphics …Run Code Online (Sandbox Code Playgroud) 可能重复:
如何在C#目录中获取File的名称
例如,如果我有:
d:\test\text.txt 要么 d:\test\test5\test.bmp
我想,在例如string t只具有text.txt作为一个字符串或t将test.bmp
因此t将仅包含路径字符串中的文件名部分.
代码:
public WmvAdapter(string file, string outFolder)
{
path_exe = path_exe = Path.GetDirectoryName(Application.LocalUserAppDataPath);
histograms_dat_fileName = "histogramValues.dat";
histograms_dat_filenameRGB = "histogramValuesRGB.dat";
histograms_dat_fileName_Directory = path_exe + "\\" + "dat file";
Run Code Online (Sandbox Code Playgroud)
我希望如果文件是例如d:\text\text.txt
So
histograms_dat_fileName_Directory = path_exe + "\\" + "dat file";
Run Code Online (Sandbox Code Playgroud)
将会:
histograms_dat_fileName_Directory = path_exe + "\\" + "dat file" + "\\" + "text.txt";
Run Code Online (Sandbox Code Playgroud)
因此,当我稍后创建该文件时,它将位于目录中,例如:
c:\myuser\appdata\local\dat file\text.txt\
Run Code Online (Sandbox Code Playgroud)
text.txt 是一个路径\文件夹而不是文本文件我想将它创建为路径.
今天的路径是例如: c:\myuser\appdata\local\dat file
但我想为每个文件名创建另一个路径.
这是代码:
if (Form1.sf != null)
{
radarDI = new DirectoryInfo(Form1.sf);
radarFiles = radarDI.GetFiles("*.png");
for (int i = radarFiles.Length - 1; i >= 0; i--)
{
radarImage = Image.FromFile(radarFiles[i].Name);
radarImage.Save(FileName, System.Drawing.Imaging.ImageFormat.Gif);
myGifListRadar.Add(radarFiles[i].Name);
if (myGifListRadar.Count == 5)
{
break;
}
}
radar_animation.MakeGIF(myGifListRadar, @"d:\RadarGifAnimatoion.gif", 8, true);
}
Run Code Online (Sandbox Code Playgroud)
我想将所有 png 文件转换为 gif。因为我需要创建动画 gif 并且它只获取 gif 文件。所以现在我将 png 文件保存到硬盘进行转换,然后从硬盘读回 gif 文件:
radarImage.Save(FileName, System.Drawing.Imaging.ImageFormat.Gif);
Run Code Online (Sandbox Code Playgroud)
FileName 应该在稍后保存的文件中,然后读回使用它。问题是是否有任何方法可以将文件转换为 gif 而不先将其保存到硬盘?一些更快的方法然后将文件保存到硬盘转换然后再次将它们作为带有 FileInfo 的 gif 读取?
刚刚更新:
using (var ms = new MemoryStream())
{
if (Form1.sf != null)
{
radarDI …Run Code Online (Sandbox Code Playgroud) 这是一行:
string t = Path.GetDirectoryName(file1);
Run Code Online (Sandbox Code Playgroud)
结果是:
C:\\Users\\bout0_000\\AppData\\Local\\Extracting_Frames\\Extracting_Frames\\dat file\\converted.avi\\histogramValues.dat
Run Code Online (Sandbox Code Playgroud)
我希望它只包含:converted.avi.
PS:converted.avi不是文件名,而是路径名.我想得到路径的最后一部分是没有文件名的最后一个子目录.
c# ×5