X

Criando redimensionador de imagem automático CorelDraw C# VSTA

Criando redimensionador de imagem automático CorelDraw C# VSTA

Publicado: Modificado:

Bonus630

Quando trabalhamos no Corel com imagens, geralmente redimensionamos pelas alças ou digitando os valores na caixa de propriedades do objeto, porém a imagem não muda realmente de dimensão, sua resolução(dpi) aumenta pois seu tamanho por polegadas diminui. Seguindo essa lógica quando se tem um arquivo com muitas imagens este tende a ficar com o tamanho do arquivo mais o tamanho total das imagens.

Imagine que você está criando algo que utilize 10 imagens de 3 mega pixels cada, somente essas imagens já teríamos um arquivo com 15 megas mais ou menos, agora imagine que você vai utiliza-lás com o tamanho de 4cm X 3cm, pra que você precisa de uma imagem com dpi tão alta, essas imagens ficariam mais ou menos com 1950 dpi, se seu arquivo for de 300 dpi, pense?

Você pode utilizar o botão resample na barra de propriedades e corrigir a resolução da imagem, imagem por imagem, não seria muito trabalho, certo? e se fosse 100? seria fácil também?

corel resample

Vamos ver o tamanho de alguns arquivos.

corel mostragens

Veja o primeiro arquivo está com a imagem do tamanho original.

O segundo com a imagem redimensionada para 3x4mm,

E a terceira está também 3x4mm porém foi alterada sua resolução (dpi).
 
Repare no tamanho de cada arquivo, esse arquivo tem somente uma foto, com 10 teríamos 10 vezes o tamanho, e com 100, claro que esse meu cenário é somente ilustrativo  para conhecermos mais do que se pode ser feito  com C# no CorelDraw, sempre usando um exemplo funcional para melhor aproveitamento.

Então vamos criar uma ferramenta para modificar a resolução de nossas imagens automaticamente para nós, vamos criar um novo addin simples sem interface com o usuário, no meu caso vou criar um que converta as imagens no momento que o arquivo seria salvo.

Abra o CorelDraw e depois o Editor VSTA (alt+shift+f12), crie um novo projeto Addin C#.

Com o projeto aberto, vamos assinar nosso documento no evento de "fazer antes de salvar" no método Main_Startup, utilize o código.

app.app.DocumentBeforeSave += new DIDrawApplicationEvents_DocumentBeforeSaveEventHandler(app_DocumentBeforeSave);

você pode utlizar tab tab, para autocompletar e já criar o método app_DocumentBeforeSave.

Agora precisamos recuperar todos os shapes, utilizaremos um ShapeRange para guarda-los, vamos percorrer todas as layer em todas as páginas



CorelDraw Código completo


Demonstração




 



Faça doações com o botão do PayPal


Todos direitos reservados | 2003 à 2024 | Copyright © Bonus630 | Vr.:5.0