Articles of gdi +

Como encontrar a área imprimível real? (PrintDocument)

Por que descobrir esse retângulo mágico é tão difícil? No evento OnPrintPage eu tenho PrintPageEventArgs e estou tentando desenhar usando os charts dentro dos limites da área máxima imprimível. Eu tentei usar PageBounds, PrintableArea, Graphics.VisibleClipBounds, etc. Todos não conseguem consistentemente obter a área de desenho, especialmente quando se muda do layout de paisagem para retrato. […]

Ocultar propriedades indesejadas em controles personalizados

É este o caminho para ocultar propriedades em controles derivados? public class NewButton : Button … [Browsable ( false )] public new ContentAlignment TextAlign { get; set; } Além disso, isso oculta a propriedade na janela Propriedades no designer, mas como também posso ocultar a propriedade no código?

Paralelização de redimensionamento de imagem GDI + .net

Eu tentei paralelizar o redimensionamento de jpegs usando .net. Todas as minhas tentativas falharam, porque o Graphics.DrawImage-func parece bloquear enquanto está ativo. Tente o seguinte recortado: Sub Main() Dim files As String() = IO.Directory.GetFiles(“D:\TEMP”) Dim imgs(25) As Image For i As Integer = 0 To 25 imgs(i) = Image.FromFile(files(i)) Next Console.WriteLine(“Ready to proceed “) Console.ReadLine() […]

Por que o Image.FromFile mantém um identificador de arquivos aberto às vezes?

Eu estou fazendo um monte de image processing em GDI + em .NET em um aplicativo ASP.NET. Eu freqüentemente acho que Image.FromFile () está mantendo um identificador de arquivo aberto. Por que é isso? Qual é a melhor maneira de abrir uma imagem sem reter o identificador de arquivo. NB: Eu não estou fazendo nada […]

Como efetivamente desenhar na área de trabalho em c #?

Eu quero desenhar diretamente na área de trabalho em c #. De pesquisar um pouco, acabei usando um object Graphics do Desktop HDC (null). Então, eu pintei normalmente usando este object Graphics. O problema é que minhas formas se perdem quando qualquer parte da canvas é redesenhada. Eu tentei um loop While, mas na verdade […]

TextRenderer.MeasureText e Graphics.MeasureString incompatíveis em tamanho

Este não é um problema de arredondamento. Diferença ~ 5+ pixels. Cadeia de Caso de Teste: “” MACD (26,12,9) -0,000016 ” e.Graphics.MeasureString(“MACD (26,12,9) -0.000016”, SystemFonts.DefaultFont).Width) TextRenderer.MeasureText(“MACD (26,12,9) -0.000016”, SystemFonts.DefaultFont).Width) O resultado é sempre: 139.3942 134 Por que há tanta diferença no tamanho? Eu só preciso da rodada de largura da corda fora do método de […]

Ocorreu um erro genérico no GDI + no método Bitmap.Save

Estou trabalhando para carregar e salvar uma cópia em miniatura dessa imagem em uma pasta de miniaturas. Eu estou usando o seguinte link: http://weblogs.asp.net/markmcdonnell/archive/2008/03/09/resize-image-before-uploading-to-server.aspx mas newBMP.Save(directory + “tn_” + filename); está causando exceção “Ocorreu um erro genérico no GDI +”. Eu tentei dar permissão na pasta, também tentei usar um novo object bmp separado ao […]

Alternativas para System.Drawing para uso com o ASP.NET?

Depois de vários dias rastreando erros bizarros do GDI +, eu me deparei com essa pequena joia no MSDN : Não há suporte para classs dentro do namespace System.Drawing para uso em um serviço do Windows ou ASP.NET. A tentativa de usar essas classs de dentro de um desses tipos de aplicativos pode gerar problemas […]

Como fazer duas camadas transparentes com c #?

Existem três camadas consecutivas picturebox1(.jpg) -> label1 -> picturebox2(.png transparent) que eu quero é tornar o label1 e o pictrurebox2 transparentes ao picturebox1 para que label1 possa ser visto através do picturebox2 mas não funciona .. public Form1() { InitializeComponent(); label1.Parent = pictureBox1; label1.BackColor = Color.Transparent; pictureBox2.Parent = pictureBox1; pictureBox2.BackColor = Color.Transparent; picturebox2.BringToFront(); } então […]

Double Buffering quando não estiver desenhando no OnPaint (): por que não funciona?

Eu estou trabalhando em um aplicativo de desenho vetorial simples em c # / .net. O desenho é feito em um painel, mas eu não estou usando o evento OnPaint () para tudo isso – na verdade, o OnPaint () até mesmo chama outro método que realmente desenha tudo no documento. Eu tentei adicionar buffer […]