本文整理汇总了C#中Nikse.SubtitleEdit.Logic.NikseBitmap.ConverTo8BitsPerPixel方法的典型用法代码示例。如果您正苦于以下问题:C# NikseBitmap.ConverTo8BitsPerPixel方法的具体用法?C# NikseBitmap.ConverTo8BitsPerPixel怎么用?C# NikseBitmap.ConverTo8BitsPerPixel使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Nikse.SubtitleEdit.Logic.NikseBitmap
的用法示例。
在下文中一共展示了NikseBitmap.ConverTo8BitsPerPixel方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: WriteParagraph
private int WriteParagraph(int width, StringBuilder sb, int border, int height, int imagesSavedCount,
VobSubWriter vobSubWriter, FileStream binarySubtitleFile, MakeBitmapParameter param, int i)
{
if (param.Bitmap != null)
{
if (_exportType == "BLURAYSUP")
{
if (!param.Saved)
binarySubtitleFile.Write(param.Buffer, 0, param.Buffer.Length);
param.Saved = true;
}
else if (_exportType == "VOBSUB")
{
if (!param.Saved)
vobSubWriter.WriteParagraph(param.P, param.Bitmap, param.Alignment);
param.Saved = true;
}
else if (_exportType == "FAB")
{
if (!param.Saved)
{
string numberString = string.Format("IMAGE{0:000}", i);
string fileName = Path.Combine(folderBrowserDialog1.SelectedPath, numberString + "." + comboBoxImageFormat.Text.ToLower());
param.Bitmap.Save(fileName, ImageFormat);
imagesSavedCount++;
//RACE001.TIF 00;00;02;02 00;00;03;15 000 000 720 480
//RACE002.TIF 00;00;05;18 00;00;09;20 000 000 720 480
int top = param.ScreenHeight - (param.Bitmap.Height + param.BottomMargin);
int left = (param.ScreenWidth - param.Bitmap.Width) / 2;
if (param.Alignment == ContentAlignment.BottomLeft || param.Alignment == ContentAlignment.MiddleLeft || param.Alignment == ContentAlignment.TopLeft)
left = param.BottomMargin;
else if (param.Alignment == ContentAlignment.BottomRight || param.Alignment == ContentAlignment.MiddleRight || param.Alignment == ContentAlignment.TopRight)
left = param.ScreenWidth - param.Bitmap.Width - param.BottomMargin;
if (param.Alignment == ContentAlignment.TopLeft || param.Alignment == ContentAlignment.TopCenter || param.Alignment == ContentAlignment.TopRight)
top = param.BottomMargin;
if (param.Alignment == ContentAlignment.MiddleLeft || param.Alignment == ContentAlignment.MiddleCenter || param.Alignment == ContentAlignment.MiddleRight)
top = param.ScreenHeight - (param.Bitmap.Height / 2);
sb.AppendLine(string.Format("{0} {1} {2} {3} {4} {5} {6}", Path.GetFileName(fileName), FormatFabTime(param.P.StartTime, param), FormatFabTime(param.P.EndTime, param), left, top, left + param.Bitmap.Width, top + param.Bitmap.Height));
param.Saved = true;
}
}
else if (_exportType == "STL")
{
if (!param.Saved)
{
string numberString = string.Format("IMAGE{0:000}", i);
string fileName = Path.Combine(folderBrowserDialog1.SelectedPath, numberString + "." + comboBoxImageFormat.Text.ToLower());
param.Bitmap.Save(fileName, ImageFormat);
imagesSavedCount++;
const string paragraphWriteFormat = "{0} , {1} , {2}\r\n";
const string timeFormat = "{0:00}:{1:00}:{2:00}:{3:00}";
double factor = (1000.0 / Configuration.Settings.General.CurrentFrameRate);
string startTime = string.Format(timeFormat, param.P.StartTime.Hours, param.P.StartTime.Minutes, param.P.StartTime.Seconds, (int)Math.Round(param.P.StartTime.Milliseconds / factor));
string endTime = string.Format(timeFormat, param.P.EndTime.Hours, param.P.EndTime.Minutes, param.P.EndTime.Seconds, (int)Math.Round(param.P.EndTime.Milliseconds / factor));
sb.Append(string.Format(paragraphWriteFormat, startTime, endTime, fileName));
param.Saved = true;
}
}
else if (_exportType == "SPUMUX")
{
if (!param.Saved)
{
string numberString = string.Format("IMAGE{0:000}", i);
string fileName = Path.Combine(folderBrowserDialog1.SelectedPath, numberString + "." + comboBoxImageFormat.Text.ToLower());
foreach (var encoder in ImageCodecInfo.GetImageEncoders())
{
if (encoder.FormatID == ImageFormat.Png.Guid)
{
var parameters = new EncoderParameters();
parameters.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.ColorDepth, 8);
var nbmp = new NikseBitmap(param.Bitmap);
var b = nbmp.ConverTo8BitsPerPixel();
b.Save(fileName, encoder, parameters);
b.Dispose();
break;
}
}
imagesSavedCount++;
const string paragraphWriteFormat = "\t\t<spu start=\"{0}\" end=\"{1}\" image=\"{2}\" />";
const string timeFormat = "{0:00}:{1:00}:{2:00}:{3:00}";
double factor = (1000.0 / Configuration.Settings.General.CurrentFrameRate);
string startTime = string.Format(timeFormat, param.P.StartTime.Hours, param.P.StartTime.Minutes, param.P.StartTime.Seconds, (int)Math.Round(param.P.StartTime.Milliseconds / factor));
string endTime = string.Format(timeFormat, param.P.EndTime.Hours, param.P.EndTime.Minutes, param.P.EndTime.Seconds, (int)Math.Round(param.P.EndTime.Milliseconds / factor));
sb.AppendLine(string.Format(paragraphWriteFormat, startTime, endTime, fileName));
param.Saved = true;
}
}
else if (_exportType == "FCP")
//.........这里部分代码省略.........