本文整理汇总了C#中System.Drawing.StringFormat.SetDigitSubstitution方法的典型用法代码示例。如果您正苦于以下问题:C# StringFormat.SetDigitSubstitution方法的具体用法?C# StringFormat.SetDigitSubstitution怎么用?C# StringFormat.SetDigitSubstitution使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Drawing.StringFormat
的用法示例。
在下文中一共展示了StringFormat.SetDigitSubstitution方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: EMFStringFormat
private EMFStringFormat(byte[] RecordData)
{
ObjectType = EmfObjectType.stringformat;
myStringFormat = new System.Drawing.StringFormat();
//put the Data into a stream and use a binary reader to read the data
MemoryStream _ms = new MemoryStream(RecordData);
BinaryReader _br = new BinaryReader(_ms);
_br.ReadUInt32(); //Who cares about version..not me!
myStringFormat.FormatFlags = (StringFormatFlags)_br.ReadUInt32();
_br.ReadBytes(4);//Language...Ignore for now!
myStringFormat.LineAlignment = (StringAlignment)_br.ReadUInt32();
myStringFormat.Alignment = (StringAlignment)_br.ReadUInt32();
UInt32 DigitSubstitutionMethod = _br.ReadUInt32();
UInt32 DigitSubstitutionLanguage = _br.ReadUInt32();
myStringFormat.SetDigitSubstitution((int)DigitSubstitutionLanguage, (StringDigitSubstitute)DigitSubstitutionMethod);
Single FirstTabOffSet = _br.ReadSingle();
myStringFormat.HotkeyPrefix = (System.Drawing.Text.HotkeyPrefix) _br.ReadInt32();
_br.ReadSingle();//leading Margin
_br.ReadSingle();//trailingMargin
_br.ReadSingle();//tracking
myStringFormat.Trimming = (StringTrimming)_br.ReadUInt32();
Int32 TabStopCount = _br.ReadInt32();
Int32 RangeCount = _br.ReadInt32();
//Next is stringformatdata...
Single[] TabStopArray;
System.Drawing.CharacterRange[] RangeArray;
if (TabStopCount > 0)
{
TabStopArray = new Single[TabStopCount];
for (int i = 0; i < TabStopCount; i++)
{
TabStopArray[i] = _br.ReadSingle();
}
myStringFormat.SetTabStops(FirstTabOffSet, TabStopArray);
}
if (RangeCount > 0)
{
RangeArray = new System.Drawing.CharacterRange[RangeCount];
for (int i = 0; i < RangeCount; i++)
{
RangeArray[i].First = _br.ReadInt32();
RangeArray[i].Length = _br.ReadInt32();
}
myStringFormat.SetMeasurableCharacterRanges(RangeArray);
}
}
示例2: ExecuteResult
public override void ExecuteResult(ControllerContext context)
{
if (context.RequestContext.HttpContext.Request.UrlReferrer.AbsolutePath ==
context.RequestContext.HttpContext.Request.Url.AbsolutePath)
throw new InvalidOperationException();
//-- ایجاد یک تصویر نقشه بیتی 32 بیتی
Bitmap bitmap = new Bitmap(Width, Height, PixelFormat.Format32bppArgb);
//-- ایجاد یک شیء گرافیکی برای عملیات ترسیم روی تصویر امنیتی
Graphics gfxCaptchaImage = Graphics.FromImage(bitmap);
gfxCaptchaImage.PageUnit = GraphicsUnit.Pixel;
gfxCaptchaImage.SmoothingMode = SmoothingMode.HighQuality;
//-- پاک کردن پس زمینه تصویر امنیتی با یک رنگ سفید
gfxCaptchaImage.Clear(_backGroundColor);
//-- ایجاد یک عدد اتفاقی بین 1000 و 9999
int salt = CaptchaHelpers.CreateSalt();
//-- تاریخ فعلی (فقط روز فعلی) باید به کلید رمزنگاری اطلاعات اضافه شود
//-- این کار به این هدف متفاوت بودن کلید رمزنگاری اطلاعات در هر روز صورت گرفته است
string encryptionSaltKey = EncryptionKey + DateTime.Now.Date.ToString(CultureInfo.InvariantCulture);
//-- چسباندن عدد اتفاقی تولید شده به تاریخ و زمان فعلی با یک جدا کننده
//-- توضیح: تاریخ و زمان فعلی باید در کورکی ذخیره شود تا هنگام رمزگشایی
//-- اطلاعات، اختلاف زمانی فی ما بین زمان ارسال فرم به مرورگر کاربر و زمان
//-- ارسال فرم به سرور توسط کاربر محاسبه شود
string plainText = salt.ToString(CultureInfo.InvariantCulture) + "," + DateTime.Now.ToString(CultureInfo.InvariantCulture);
//-- رمزنگاری مقدار متغیر بالا جهت ذخیره در کوکی
string encryptedValue = (plainText).Encrypt(encryptionSaltKey);
//-- ذخیره کردن رشته رمزنگاری شده در کوکی
HttpCookie cookie = new HttpCookie("captchastring");
cookie.Value = encryptedValue;
HttpContext.Current.Response.Cookies.Add(cookie);
//-- تبدیل عدد اتفاقی تولید شده به حروف معادل
string randomString = (salt).NumberToText(Language.Persian);
//-- تنظیمات فرمت متن تصویر امنیتی
var format = new StringFormat();
int faLCID = new System.Globalization.CultureInfo("fa-IR").LCID;
format.SetDigitSubstitution(faLCID, StringDigitSubstitute.National);
format.Alignment = StringAlignment.Center;
format.LineAlignment = StringAlignment.Center;
format.FormatFlags = StringFormatFlags.DirectionRightToLeft;
//-- نوع و اندازه قلم تصویر امنیتی
Font font = new Font(CaptchaFontFamily, CaptchaFontSize);
//-- ایجاد یک مسیر گرافیکی در تصویر امنیتی
GraphicsPath path = new GraphicsPath();
path.AddString(randomString,
font.FontFamily,
(int)font.Style,
(gfxCaptchaImage.DpiY * font.SizeInPoints / 72),
new Rectangle(0, 0, Width, Height),
format);
Random random = new Random();
//-- ایجاد رنگ متن تصویر امنیتی به صورت اتفاقی
Pen pen = new Pen(Color.FromArgb(random.Next(0, 100), random.Next(0, 100), random.Next(0, 100)));
gfxCaptchaImage.DrawPath(pen, path);
//-- ایجاد یک موج سینوسی و کسینوسی اتفاقی برای نوشتن حروف کد امنیتی در آن
int distortion = random.Next(-10, 10);
using (Bitmap copy = (Bitmap)bitmap.Clone())
{
for (int y = 0; y < Height; y++)
{
for (int x = 0; x < Width; x++)
{
int newX = (int)(x + (distortion * Math.Sin(Math.PI * y / 64.0)));
int newY = (int)(y + (distortion * Math.Cos(Math.PI * x / 64.0)));
if (newX < 0 || newX >= Width) newX = 0;
if (newY < 0 || newY >= Height) newY = 0;
bitmap.SetPixel(x, y, copy.GetPixel(newX, newY));
}
}
}
//-- اضافه کردن نویز به تصویر امنیتی
//int i, r, xx, yy, u, v;
//for (i = 1; i < 10; i++)
//{
// pen.Color = Color.FromArgb((random.Next(0, 255)), (random.Next(0, 255)), (random.Next(0, 255)));
// r = random.Next(0, (Width / 3));
// xx = random.Next(0, Width);
// yy = random.Next(0, Height);
// u = xx - r;
// v = yy - r;
// gfxCaptchaImage.DrawEllipse(pen, u, v, r, r);
//}
//.........这里部分代码省略.........
示例3: SetDigitSubstitution
public void SetDigitSubstitution ()
{
using (StringFormat sf = new StringFormat ()) {
sf.SetDigitSubstitution (Int32.MinValue, (StringDigitSubstitute) Int32.MinValue);
Assert.AreEqual (0, sf.DigitSubstitutionLanguage, "DigitSubstitutionLanguage");
Assert.AreEqual ((StringDigitSubstitute) Int32.MinValue, sf.DigitSubstitutionMethod, "DigitSubstitutionMethod");
}
}
示例4: loadStringFormat
internal StringFormat loadStringFormat()
{
int nullMrk = reader.ReadInt32();
if (nullMrk == 0)
return null;
StringAlignment al;
int dsl;
StringDigitSubstitute dsm;
StringFormatFlags sff;
System.Drawing.Text.HotkeyPrefix hp;
StringAlignment lal;
StringTrimming tr;
float fto;
float[] ts;
al = (StringAlignment)reader.ReadInt32();
dsl = reader.ReadInt32();
dsm = (StringDigitSubstitute)reader.ReadInt32();
sff = (StringFormatFlags)reader.ReadInt32();
hp = (System.Drawing.Text.HotkeyPrefix)reader.ReadInt32();
lal = (StringAlignment)reader.ReadInt32();
tr = (StringTrimming)reader.ReadInt32();
fto = (float)reader.ReadDouble();
int len = reader.ReadInt32();
ts = new float[len];
for (int i = 0; i < len; ++i)
ts[i] = (float)reader.ReadDouble();
StringFormat res = new StringFormat(sff);
res.Alignment = al;
res.LineAlignment = lal;
res.SetDigitSubstitution(dsl, dsm);
res.HotkeyPrefix = hp;
res.Trimming = tr;
res.SetTabStops(fto, ts);
return res;
}