Kezdőoldal » Számítástechnika » Programozás » WPF (c#) lehet olyan csinálni...

WPF (c#) lehet olyan csinálni hogy az exét és a képet egybe rakjuk?

Figyelt kérdés
Hogyha átmásolom a másik gépre az exét és ha futtatom a képet is megtudja jeleníteni.
2017. febr. 24. 23:44
 1/4 anonim ***** válasza:
Igen, lehet. A resource-nak (fileon build action) nézz utána .
2017. febr. 25. 00:23
Hasznos számodra ez a válasz?
 2/4 anonim ***** válasza:

1) A Source Explorer-ben jobb klikk a projektre (nem a solution-re)

2) Properties

3) Resources


Itt elég sok fajta resource-t lehet hozzáadni, például string-eket, képeket, stb.


Ha hozzáadod és elmented, a projekteden belül meg fog jelenni egy Properties.Resources nevű osztály, amin keresztül statikus tagokkal el tudod érni az erőforrásaidat.


Viszont arra figyelj, hogy amíg a Resource-ban tárolt képek System.Drawing.Image típusúak, a WPF ablakodon System.Windows.Media.ImageSource-t kell használnod. Szóval kénytelen leszel írni rá egy metódust, ami átalakítja az Image-t ImageSource-ra:


/// <summary>

/// Creates an <see cref="ImageSource"/> from the given <see cref="Image"/>.

/// </summary>

/// <param name="b">The <see cref="Image"/> to convert.</param>

/// <returns>The <see cref="ImageSource"/> instance or null if b is null.</returns>

public static ImageSource ToImageSource(this Image b) {

.. #region Error checking

.. if (b == null)

.. .. return null;

.. #endregion


.. BitmapImage img = new BitmapImage();

.. using (MemoryStream ms = new MemoryStream()) {

.. .. b.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp);

.. .. ms.Position = 0;

.. .. ms.Seek(0, SeekOrigin.Begin);


.. .. img.BeginInit();

.. .. img.CacheOption = BitmapCacheOption.OnLoad;

.. .. img.StreamSource = ms;

.. .. img.EndInit();

.. }


.. return img;

}

2017. febr. 25. 09:02
Hasznos számodra ez a válasz?
 3/4 anonim ***** válasza:

Szerintem felesleges Properties.Resource-ba karni, mint mondtad is ez WinFormshoz való. Csak simán add hozzá a projecthez és válaszd ki a build action-nél hgoy Resource (nem Embedded resource). Ekkor belerakja az exebe.


Xaml-ből így lehet használni:

<Image Source="Konyvtar/filenev.png" />

A Konyvtar/filenev a solution-ben létrehozott elérési út, szóval ha a MainWindows.xaml mellé teszed elég csak a fajlnev


Ha kódból is el akarod érni, szólj.

2017. febr. 25. 10:19
Hasznos számodra ez a válasz?
 4/4 A kérdező kommentje:
Sikerült, köszönöm a válaszokat! :) :)
2017. febr. 26. 01:01

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!