Chart.SaveImage - rozlišení DPI   zodpovězená otázka

VB.NET, WinForms, Grafika

Dobrý den,

chci se zeptat zda někdo nevíte jak se dá při ukládání grafu vytvořeného pomocí MS Chart Control upravit rozlišení rastrového formátu.

Při uložení do formátu TIF se implicitně grafy ukládají s 96 DPI, při tisku to není dost ostré, chtělo by to tak 300 DPI.

Vím že alternativně to jde uložit do vektorového formátu EMF, ale tam mám pak grafy s velikostí 150MB (mnoho bodů) takže se s tím pak špatně pracuje. Díky za nakopnutí.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Zdravím,

tak problém jsem vyřešil. Řešení je dost kostrbaté, háže to jednu vyjímku ale účel splňuje.

Dim Mem As New MemoryStream
Dim Img As Image

'Nejprve se graf uloží ve vektorovém formátu do MemoryStream
Chart1.SaveImage(Mem, ChartImageFormat.EmfDual)
'Stream se pak načte do Image, tady to háže vyjímku ArgumetException, každopádně dám F8 a ten MemoryStream to načte 
Img = Image.FromStream(Mem)
'Nakonec se image hodí do Bitmapy, nastaví se rozlišení a exportujeme
Dim Bit As New Bitmap(Img, šířka, výška)
Bit.SetResolution(300, 300)
Bit.Save(Name, Imaging.ImageFormat.Tiff)

Výsledný TIF je mnohem menší (kB) než vektorový EMF (MB) a při tisku je ostrý jako břitva. Kdyby se s tím taky někdo drbal jako já, tak mu to možná pomůže. Pokud by jste mi někdo poradil jak přejít tu vyjímku, aby mi ji aplikace nehlásila a běžela dál bez upozornění a pozastavení aplikace budu rád.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback