Release Build question - Programmers Heaven

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Welcome to the new platform of Programmer's Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use its exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

Release Build question

RykonRykon Posts: 10Member
I would like to know how to get images that I use in my program to get packed in the exe when it is built.

Example
pictureBox1.Image = Image.FromFile("blackjack_images\cardback.png" );

How would I get it so the files in blackjack_images where packed into th exe?

Thnx for the help.

Comments

  • RykonRykon Posts: 10Member
    I figured out how add all the image files into my project, but how do I refrence them? Can I just modify my current accessing method (example in the first post)?
  • pingpongpingpong Posts: 937Member
    Here's how,

    1. First, create a folder in your project (right click the project in the solution explorer then add/new folder, call it BlackjackImages).
    2. Right click the folder you just created, add/existing items, then browse to the images you want (say cardback.png).
    3. Select all these images in the solution explore, then go to the properties Windows, change the Build Action to Embedded Resources.
    4. Now in your code, to load cardback.png image you'd do:
    [code]
    Bitmap btmp = new Bitmap(GetType(), "BlackjackImages.cardback.png");
    [/code]
    Notice the names are case sensitive, if you do "blackjackimages." instead of "BlackjackImages." it wont work, same with the file name.

    This is just another form of a namespace. When you added the files to the solution, you added them to the root namespace then into the folder BlackjackImages. So their namespace is:
    .BlackjackImages.FileName
    In the Bitmap constructor, the first parameter is a type to any of your root classes, .NET will use its namespace + the second parameter.
    Needless to say, if you make the "new Bitmap(GetType(), ..." call inside a namespace other than the root it wont work.



    : I would like to know how to get images that I use in my program to get packed in the exe when it is built.
    :
    : Example
    : pictureBox1.Image = Image.FromFile("blackjack_images\cardback.png" );
    :
    : How would I get it so the files in blackjack_images where packed into th exe?
    :
    : Thnx for the help.
    :

  • RykonRykon Posts: 10Member
    This is my code that I would like to replace so it chooses from withing the project.The code selects from a file, Random & LSute are var set to get a card and sute randomly(in code before its calling).

    [code]
    pictureBox1.Image = Image.FromFile(
    "Images\" + Random + LSute + ".png" );
    [/code]

    Would I just do this to assign it to a pictureBox?
    [code]
    Bitmap btmp = new Bitmap(GetType(), "Images." + Random + LSute + ".png");

    pictureBox1.Image = btmp;
    [/code]

    : Here's how,
    :
    : 1. First, create a folder in your project (right click the project in the solution explorer then add/new folder, call it BlackjackImages).
    : 2. Right click the folder you just created, add/existing items, then browse to the images you want (say cardback.png).
    : 3. Select all these images in the solution explore, then go to the properties Windows, change the Build Action to Embedded Resources.
    : 4. Now in your code, to load cardback.png image you'd do:
    : [code]
    : Bitmap btmp = new Bitmap(GetType(), "BlackjackImages.cardback.png");
    : [/code]
    : Notice the names are case sensitive, if you do "blackjackimages." instead of "BlackjackImages." it wont work, same with the file name.
    :
    : This is just another form of a namespace. When you added the files to the solution, you added them to the root namespace then into the folder BlackjackImages. So their namespace is:
    : .BlackjackImages.FileName
    : In the Bitmap constructor, the first parameter is a type to any of your root classes, .NET will use its namespace + the second parameter.
    : Needless to say, if you make the "new Bitmap(GetType(), ..." call inside a namespace other than the root it wont work.

  • pingpongpingpong Posts: 937Member
    Should work if you:

    1. Create a folder in your project called "Images"
    2. Add the png files to that folder.
    3. Select them all, switch their build action to "Embedded Resources".


    : This is my code that I would like to replace so it chooses from withing the project.The code selects from a file, Random & LSute are var set to get a card and sute randomly(in code before its calling).
    :
    : [code]
    : pictureBox1.Image = Image.FromFile(
    : "Images\" + Random + LSute + ".png" );
    : [/code]
    :
    : Would I just do this to assign it to a pictureBox?
    : [code]
    : Bitmap btmp = new Bitmap(GetType(), "Images." + Random + LSute + ".png");
    :
    : pictureBox1.Image = btmp;
    : [/code]
    :
    : : Here's how,
    : :
    : : 1. First, create a folder in your project (right click the project in the solution explorer then add/new folder, call it BlackjackImages).
    : : 2. Right click the folder you just created, add/existing items, then browse to the images you want (say cardback.png).
    : : 3. Select all these images in the solution explore, then go to the properties Windows, change the Build Action to Embedded Resources.
    : : 4. Now in your code, to load cardback.png image you'd do:
    : : [code]
    : : Bitmap btmp = new Bitmap(GetType(), "BlackjackImages.cardback.png");
    : : [/code]
    : : Notice the names are case sensitive, if you do "blackjackimages." instead of "BlackjackImages." it wont work, same with the file name.
    : :
    : : This is just another form of a namespace. When you added the files to the solution, you added them to the root namespace then into the folder BlackjackImages. So their namespace is:
    : : .BlackjackImages.FileName
    : : In the Bitmap constructor, the first parameter is a type to any of your root classes, .NET will use its namespace + the second parameter.
    : : Needless to say, if you make the "new Bitmap(GetType(), ..." call inside a namespace other than the root it wont work.
    :
    :

  • RykonRykon Posts: 10Member
    Thank you a lot, you have been very helpfull =).
Sign In or Register to comment.