Avatar billede starf Nybegynder
22. oktober 2012 - 10:30 Der er 6 kommentarer og
1 løsning

if på en picture box

Er det muligt at lave noget hen af:

if (pictureBox1.Image ="test.jpg")

? ved overnævtente får jeg bare
Error    1    Cannot implicitly convert type 'string' to 'System.Drawing.Image'
Avatar billede arne_v Ekspert
22. oktober 2012 - 10:39 #1
Fejlen er jo korrekt - du kan ikke sammenligne et billede med en streng.

Hvis du gemmer det Image du har assignet til pictureBox1.Image boer du kunne teste paa det.
Avatar billede Syska Mester
22. oktober 2012 - 10:42 #2
pictureBox.Image er et image ... dvs en eller anden form for Stream hvis jeg husker korrekt. Dvs den har ikke noget begreb af hvor den kommer fra.

Som du kan se fra: http://msdn.microsoft.com/en-us/library/system.windows.forms.picturebox.aspx

Så er deres eget eksempel:
private Bitmap MyImage ;
public void ShowMyImage(String fileToDisplay, int xSize, int ySize)
{
  // Sets up an image object to be displayed.
  if (MyImage != null)
  {
      MyImage.Dispose();
  }

  // Stretches the image to fit the pictureBox.
  pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage ;
  MyImage = new Bitmap(fileToDisplay);
  pictureBox1.ClientSize = new Size(xSize, ySize);
  pictureBox1.Image = (Image) MyImage ;
}

Så dette du prøver kan som jeg lige ser det ikke lade sig gøre. Men mon ikke der findes en kontrol som tager en path til et billede istedet for et Image, så du kan linke til et sti, og på den måde teste hvad det nu er du vil.

mvh
Avatar billede starf Nybegynder
22. oktober 2012 - 10:43 #3
Nej ok, men der må være en måde at finde ud af navnet, så jeg kan sammenligne på det.

pt gør jeg sådan her:
pictureBox1.Image = Image.FromStream(s);

og så ønsker jeg enlig bare at jeg kan lave en if på det filnavn den henter ind, er der en let måde at opnå dette?
Avatar billede starf Nybegynder
22. oktober 2012 - 10:46 #4
if (imageNames[index] == "WindowsFormsApplication1.l_ja.jpg")

det virker sku :) hvordan skal point fordeles?
Avatar billede Syska Mester
22. oktober 2012 - 11:20 #5
Øhhh, hvor kom imageNames fra? Hvor kommer index fra? Sammenligner du med en static string?

Synes det hele virker lidt mærkeligt og det må kunne laves på en bedre måde. Hvad prøver du at opnå?
Avatar billede starf Nybegynder
22. oktober 2012 - 12:43 #6
var imageNames = new List<string>


det er baer en lille kontor joke, så ingen grund til at gøre det alt for advanceret.. det virker som det skal nu....
Avatar billede Syska Mester
22. oktober 2012 - 12:48 #7
if(imageNames.Contains("WindowsFormsApplication1.l_ja.jpg"))
{
// imageNames contains "WindowsFormsApplication1.l_ja.jpg" ... do stuff
}

Overstående er en nemmere udgave ... da du sikkert har en for løkke rundt om den.

Men svar herfra ... hvis det jeg har kommet med har hjulpet.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



IT-JOB

Udviklings- og Forenklingsstyrelsen

ITSM-koordinator

Udviklings- og Forenklingsstyrelsen

Seniorudviklere med lyst til faglige udfordringer

Udlændinge- og Integrationsministeriet

Contract Managers til kontrakt- og leverandørstyring