Страница: 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 | 
 
		
			Поиск по форуму