Vra

Ek is besig om 'n Winforms c # 3.0 aansoek. Ons ontwerper geskep heelwat ico lêers bevat al die nodige kuns. Die keuse van Ico gemaak omdat dikwels, dieselfde beeld is nodig in verskeie plekke in verskillende dimensies.

Nou, dit lyk ico lêers regtig irriterende te gebruik in Visual Studio. Die enigste manier om dié beelde te gebruik blyk te wees deur beelde lys (wat nie ondersteun word deur alle kontroles). In vergelyking met ander hulpbronne, kan jy nie hierdie skrywe:

foo.Image = global::RFQHUB.RFQHUBClient.Properties.Resources.foo; //    Cannot implicitly convert type 'System.Drawing.Icon' to 'System.Drawing.Image'  

Hier is die opsies wat ek oorweeg:

  • skep ImageLists van alle moontlike groottes verwysing al my ikone in my hoof venster. Skakel hierdie ImageLists uit ander vensters en vind 'n manier om die uitvoer Image voorwerpe uit die Imagelist toe ek dit nie direk kan gebruik; sedert Imagelist n metode Teken () bevat, moet dit waarskynlik moontlik wees.
  • skakel al die x.ico Ek het in verskeie x16.gif ... x48.gif, en gebruik dié deur hulpbronne.

Ek sou belangstel om te weet of 'n paar mense is suksesvol Ico hulpbronne met behulp van 'n Winform aansoek wees. In so, hoe het jy die opstel van dinge?

Was dit nuttig?

Oplossing

ICO is nie heeltemal 'n verouderde formaat, maar dit is naby. Dit is nog steeds nuttig vir jou aansoek ikoon, maar vir byna alles anders, is dit beter om 'n Imagelist gebruik vir elke grootte wat jy nodig het. En dit is baie vinniger om 'n Imagelist vul van 'n bitmap wat bevat verskeie beelde uitgelê in 'n rooster.

Jy wil ook om 'n Alpha kanaal deursigtigheid gebruik in jou bitmaps om die beste resultaat te kry, sodat hulle stoor as PNG lêers in jou hulpbronne is die beste manier om te gaan, aangesien PNG ondersteun 'n alfa-kanaal. ICO en GIF-lêers ondersteun net enkele stukkie vir deursigtigheid - elke pixel is óf heeltemal ondeursigtig of ten volle deursigtig. 'N 8 bit alfa-kanaal vir deursigtigheid lyk baie mooier.

As jy jou kunstenaar terug na die tekenbord hom kan stuur dan moet jy dit te doen, en het / haar doen volle anti-aliased beelde met alfa. As jy kan nie, dan stel ek voor dat jy 'n klein program om al jou ikoon lêers te omskep in bitmaps wat geskik is vir die laai in ImageLists skryf.

Ander wenke

Skakel die beelde in PNG. Punt. Elkeen besluit om ico lêers gebruik om mee te begin moet kry gepraat in private -. Die argument hou geen grond

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top