Hejsan
Alltså nu har jag kört fast på ett riktigt struntproblem. Har försökt leta men hittar aldrig det jag vill :OO
Vill kolla en bilds höjd och vidd med if-satsen nedan men hur kollar man >>. Det funkar ju med == men det vill jag ju inte använda nu jue. Den klagar på att "operatorn inte kan användas på System.Web.UI.WebControls.Unit eller int"
Vet att det antagligen är en mindre smart fråga :r
Image bild = new Image();
bild.ImageUrl = "bildKategorier/" + Request.QueryString["bild"];
bild.AlternateText = Request.QueryString["alt"];
if (bild.Width > 500)
{
bild.Width = 500;
}
if (bild.Height > 400)
{
bild.Height = 400;
}
bildTd.Controls.Add(bild);
Tack på förhand
janrochMedlem sedan jan. 200518 inlägg Felet beror på att du försöker jämföra en "System.Web.UI.WebControls.Unit" med en "int". Det går inte.
En Unit är en värde plus en enhet. Jämför värdet med "inte":en istället så funkar det nog.
För mer info om Unit kolla:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemwebuiwebcontrolsunitmemberstopic.asp
Aah jag tror att jag fattar :) Typ bild.Width.Value > men det funkar inte heller. Den säger att det är längden på Unit'en. Alltså sidan körs men den struntar i villkoret. Om jag däremot vänder på det så att Width.Value<500 så körs villkoret men dock på alla bilder. Även de små som inte ska bli större?!
skriver ut value som tydligen är 0 för alla bilder
Ursäkta att jag bombar nu men testar samtidigt
int.Parse(bild.Width.ToString()) > 500
det skulle ju funka om den kände av Width för bilden (vilket jag trodde den skulle göra) eller är det nå't man måste sätta själv. I så fall måste jag alltså skicka med det från sidan jag kollar vidd och bredd på bilden?!
janrochMedlem sedan jan. 200518 inlägg just det, tänkte inte på det men vidden sätter du själv. Det är den som motsvara width-attributet på img-taggen så den har du inte så stor användning av. Du får använda System.Drawing.Bitmap istället om du vill ha reda på vad vidden är...
mmh men sen skulle jag vilja sätta om vidden å då säger den ju att vidden är ReadOnly
Men jag skickar med bredd och höjd och använder Image() Då kan man lätt sätta alt å så till bilden. Eller har du något bättre förslag.
Så här gör jag nu
protected System.Web.UI.HtmlControls.HtmlTableCell bildTd;
protected System.Web.UI.HtmlControls.HtmlTable Table1;
protected System.Web.UI.HtmlControls.HtmlForm Form1;
private void Page_Load(object sender, System.EventArgs e)
{
//Skapa en Image att lägga in i td'n på sidan sedan
System.Web.UI.WebControls.Image bild = new System.Web.UI.WebControls.Image();
//Tala om vilken bild det är med sökvägen
bild.ImageUrl = "bildKategorier/" + Request.QueryString["bild"];
//Ge bilden en alt-egenskap
bild.AlternateText = Request.QueryString["alt"];
//spara bildens bredd och höjd från querysträngen
float bredd = int.Parse(Request.QueryString["bredd"]);
float hojd = int.Parse(Request.QueryString["hojd"]);
float NyBredd;
float NyHojd;
//Kolla bredd och höjd så att bilden inte blir för stor
if (bredd > 500)
{
NyBredd = 500;
NyHojd = (500/bredd)*hojd;
bredd = NyBredd;
hojd = NyHojd;
}
if (hojd > 400)
{
NyHojd = 400;
NyBredd = (400/bredd)*hojd;
bredd = NyBredd;
hojd = NyHojd;
}
float test = (int) bredd;
//Ge bilden rätt bredd och höjd
bild.Width = (int) bredd;
//Lägg in bilden i td'n på sidan
bildTd.Controls.Add(bild);