Страница: 1 |
|
Вопрос: ширина и высота e.graphics.drawstring
|
Добавлено: 09.09.12 10:01
|
|
Автор вопроса: mimino
|
Приветствую всех!
как реализовать такое?
печатаю текст - e.Graphics.DrawString("AbcJgp", largeFont, Brushes.Black, 0, 0)
нужно этот текст растянуть. или просто изменить высоту и ширину не меняя размер шрифта.
Ответить
|
Номер ответа: 2 Автор ответа: карлсон943
Вопросов: 0 Ответов: 2
|
Профиль | | #2
|
Добавлено: 09.09.12 23:55
|
шось типу того зроби http://www.sendspace.com/file/lc3kf9
-
- using System;
- using System.ComponentModel;
- using System.Drawing;
- using System.Text;
- using System.Windows.Forms;
-
- namespace DrawString
- {
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();
- }
-
- private void Form1_Load(object sender, EventArgs e)
- {
- textBox1.TextChanged += Redraw;
- trackBar1.ValueChanged += Redraw;
- trackBar2.ValueChanged += Redraw;
- }
-
- private void Redraw(object sender, EventArgs e)
- {
- string text = textBox1.Text;
- if (text.Length == 0) text = "...";
- Graphics g = CreateGraphics();
- StringFormat fmt = new StringFormat(StringFormatFlags.FitBlackBox | StringFormatFlags.NoWrap);
- fmt.Trimming = StringTrimming.EllipsisCharacter;
- SizeF s = g.MeasureString(text, this.Font, new SizeF((float)pictureBox1.Width, (float)pictureBox1.Height), fmt);
- fmt.Dispose();
- SizeF ratios = new SizeF((float)trackBar1.Value / s.Width, (float)trackBar2.Value / s.Height);
- g = pictureBox1.CreateGraphics();
- g.ResetTransform();
- g.ScaleTransform(ratios.Width, ratios.Height);
- g.Clear(SystemColors.Control);
- g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
- g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit;
- g.DrawString(text, this.Font, SystemBrushes.ControlText, new PointF(0f, 0f));
- }
-
- private void trackBar1_ValueChanged(object sender, EventArgs e)
- {
- label3.Text = trackBar1.Value.ToString();
- }
-
- private void trackBar2_ValueChanged(object sender, EventArgs e)
- {
- label4.Text = trackBar2.Value.ToString();
- }
-
- }
- }
Ответить
|
Страница: 1 |
Поиск по форуму