本文整理汇总了C#中NikseBitmap.CropSidesAndBottom方法的典型用法代码示例。如果您正苦于以下问题:C# NikseBitmap.CropSidesAndBottom方法的具体用法?C# NikseBitmap.CropSidesAndBottom怎么用?C# NikseBitmap.CropSidesAndBottom使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NikseBitmap
的用法示例。
在下文中一共展示了NikseBitmap.CropSidesAndBottom方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Make3DTopBottom
/// <summary>
/// The make 3 d top bottom.
/// </summary>
/// <param name="parameter">
/// The parameter.
/// </param>
/// <param name="nbmp">
/// The nbmp.
/// </param>
/// <returns>
/// The <see cref="NikseBitmap"/>.
/// </returns>
private static NikseBitmap Make3DTopBottom(MakeBitmapParameter parameter, NikseBitmap nbmp)
{
Bitmap singleBmp = nbmp.GetBitmap();
Bitmap singleHalfBmp = ScaleToHalfHeight(singleBmp);
singleBmp.Dispose();
var topBottomBmp = new Bitmap(parameter.ScreenWidth, parameter.ScreenHeight - parameter.BottomMargin);
int singleHeight = parameter.ScreenHeight / 2;
int leftM = (parameter.ScreenWidth / 2) - (singleHalfBmp.Width / 2);
using (Graphics gTopBottom = Graphics.FromImage(topBottomBmp))
{
gTopBottom.DrawImage(singleHalfBmp, leftM + parameter.Depth3D, singleHeight - singleHalfBmp.Height - parameter.BottomMargin);
gTopBottom.DrawImage(singleHalfBmp, leftM - parameter.Depth3D, parameter.ScreenHeight - parameter.BottomMargin - singleHalfBmp.Height);
}
nbmp = new NikseBitmap(topBottomBmp);
if (parameter.BackgroundColor == Color.Transparent)
{
nbmp.CropTop(2, Color.Transparent);
nbmp.CropTransparentSidesAndBottom(2, false);
}
else
{
nbmp.CropTop(4, parameter.BackgroundColor);
nbmp.CropSidesAndBottom(4, parameter.BackgroundColor, false);
}
return nbmp;
}
示例2: linkLabelPreview_LinkClicked
/// <summary>
/// The link label preview_ link clicked.
/// </summary>
/// <param name="sender">
/// The sender.
/// </param>
/// <param name="e">
/// The e.
/// </param>
private void linkLabelPreview_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
this.linkLabelPreview.Enabled = false;
this.Cursor = Cursors.WaitCursor;
try
{
int width;
int height;
this.GetResolution(out width, out height);
using (var bmp = new Bitmap(width, height))
{
using (var g = Graphics.FromImage(bmp))
{
var p = this._subtitle.Paragraphs[this.subtitleListView1.SelectedItems[0].Index];
this.FillPreviewBackground(bmp, g, p);
var nBmp = new NikseBitmap(this.pictureBox1.Image as Bitmap);
nBmp.CropSidesAndBottom(100, Color.Transparent, true);
using (var textBmp = nBmp.GetBitmap())
{
var bp = this.MakeMakeBitmapParameter(this.subtitleListView1.SelectedItems[0].Index, width, height);
var alignment = GetAlignmentFromParagraph(bp, this._format, this._subtitle);
if (this.comboBoxHAlign.Visible && alignment == ContentAlignment.BottomCenter && this._format.GetType() != typeof(AdvancedSubStationAlpha) && this._format.GetType() != typeof(SubStationAlpha))
{
if (this.comboBoxHAlign.SelectedIndex == 0)
{
alignment = ContentAlignment.BottomLeft;
}
else if (this.comboBoxHAlign.SelectedIndex == 2)
{
alignment = ContentAlignment.BottomRight;
}
}
int x = (bmp.Width - textBmp.Width) / 2;
if (alignment == ContentAlignment.BottomLeft || alignment == ContentAlignment.MiddleLeft || alignment == ContentAlignment.TopLeft)
{
x = int.Parse(this.comboBoxBottomMargin.Text);
}
else if (alignment == ContentAlignment.BottomRight || alignment == ContentAlignment.MiddleRight || alignment == ContentAlignment.TopRight)
{
x = bmp.Width - textBmp.Width - int.Parse(this.comboBoxBottomMargin.Text);
}
int y = bmp.Height - textBmp.Height - int.Parse(this.comboBoxBottomMargin.Text);
if (alignment == ContentAlignment.BottomLeft || alignment == ContentAlignment.MiddleLeft || alignment == ContentAlignment.TopLeft)
{
x = int.Parse(this.comboBoxBottomMargin.Text);
}
else if (alignment == ContentAlignment.BottomRight || alignment == ContentAlignment.MiddleRight || alignment == ContentAlignment.TopRight)
{
x = bmp.Width - textBmp.Width - int.Parse(this.comboBoxBottomMargin.Text);
}
if (alignment == ContentAlignment.MiddleLeft || alignment == ContentAlignment.MiddleCenter || alignment == ContentAlignment.MiddleRight)
{
y = (this.groupBoxExportImage.Height - 4 - textBmp.Height) / 2;
}
else if (alignment == ContentAlignment.TopLeft || alignment == ContentAlignment.TopCenter || alignment == ContentAlignment.TopRight)
{
y = int.Parse(this.comboBoxBottomMargin.Text);
}
g.DrawImageUnscaled(textBmp, new Point(x, y));
}
}
using (var form = new ExportPngXmlPreview(bmp))
{
this.Cursor = Cursors.Default;
form.ShowDialog(this);
}
}
}
finally
{
this.Cursor = Cursors.Default;
this.linkLabelPreview.Enabled = true;
}
}
示例3: GenerateImageFromTextWithStyleInner
//.........这里部分代码省略.........
TextDraw.DrawText(font, sf, path, sb, isItalic, isBold, false, left, top, ref newLine, leftMargin, ref newLinePathPoint);
top += lineHeight;
newLine = true;
i += Environment.NewLine.Length - 1;
lineNumber++;
if (lineNumber < lefts.Count)
{
leftMargin = lefts[lineNumber];
left = leftMargin;
}
numberOfCharsOnCurrentLine = 0;
}
else
{
if (numberOfCharsOnCurrentLine != 0 || text[i] != ' ')
{
sb.Append(text[i]);
numberOfCharsOnCurrentLine++;
}
}
}
if (sb.Length > 0)
{
TextDraw.DrawText(font, sf, path, sb, isItalic, parameter.SubtitleFontBold, false, left, top, ref newLine, leftMargin, ref newLinePathPoint);
}
DrawShadowAndPath(parameter, g, path);
g.FillPath(new SolidBrush(c), path);
}
}
sf.Dispose();
var nbmp = new NikseBitmap(bmp);
if (parameter.BackgroundColor == Color.Transparent)
{
nbmp.CropTransparentSidesAndBottom(baseLinePadding, true);
nbmp.CropTransparentSidesAndBottom(2, false);
}
else
{
nbmp.CropSidesAndBottom(4, parameter.BackgroundColor, true);
nbmp.CropTop(4, parameter.BackgroundColor);
}
if (nbmp.Width > parameter.ScreenWidth)
{
parameter.Error = "#" + parameter.P.Number.ToString(CultureInfo.InvariantCulture) + ": " + nbmp.Width.ToString(CultureInfo.InvariantCulture) + " > " + parameter.ScreenWidth.ToString(CultureInfo.InvariantCulture);
}
if (parameter.Type3D == 1)
{
// Half-side-by-side 3D
Bitmap singleBmp = nbmp.GetBitmap();
Bitmap singleHalfBmp = ScaleToHalfWidth(singleBmp);
singleBmp.Dispose();
var sideBySideBmp = new Bitmap(parameter.ScreenWidth, singleHalfBmp.Height);
int singleWidth = parameter.ScreenWidth / 2;
int singleLeftMargin = (singleWidth - singleHalfBmp.Width) / 2;
using (Graphics gSideBySide = Graphics.FromImage(sideBySideBmp))
{
gSideBySide.DrawImage(singleHalfBmp, singleLeftMargin + parameter.Depth3D, 0);
gSideBySide.DrawImage(singleHalfBmp, singleWidth + singleLeftMargin - parameter.Depth3D, 0);
}
nbmp = new NikseBitmap(sideBySideBmp);
if (parameter.BackgroundColor == Color.Transparent)
{
nbmp.CropTransparentSidesAndBottom(2, true);
}
else
{
nbmp.CropSidesAndBottom(4, parameter.BackgroundColor, true);
}
}
else if (parameter.Type3D == 2)
{
// Half-Top/Bottom 3D
nbmp = Make3DTopBottom(parameter, nbmp);
}
return nbmp.GetBitmap();
}
finally
{
if (font != null)
{
font.Dispose();
}
if (bmp != null)
{
bmp.Dispose();
}
}
}