public void Renderizar(RenderContext contexto) { var largura = contexto.Info.Width; var altura = contexto.Info.Height; using (var stream = ResourcesHelper.CarregarRecurso(_nomeSvg)) { using (var svgDoc = _engine.LoadSvg(stream)) { var limitesSvg = svgDoc.Limites; var xRatio = largura / limitesSvg.Largura(); var yRatio = altura / limitesSvg.Altura(); var escala = Math.Min(xRatio, yRatio); var posicaoX = (largura - (limitesSvg.Largura() * escala)) / 2; var posicaoY = (altura - (limitesSvg.Altura() * escala)) / 2; var matriz = new Transformacao( new Vector2(escala, escala), new Vector2(posicaoX, posicaoY)); _engine.DesenharSvg(svgDoc, matriz); var limitesRenderer = new Retangulo( limitesSvg.Esquerda, limitesSvg.Cima, limitesSvg.Direita, limitesSvg.Baixo, matriz); //Correção limites pelas sombras limitesRenderer.Cima += 3.5f; limitesRenderer.Direita -= 12; limitesRenderer.Baixo -= 7; Limites = limitesRenderer; } } }
public Objeto2D() { Transformação = new Transformacao(this); }