Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Bilder i Resourcesfil

Postades av 2007-02-26 20:56:04 - Benni Svensson, i forum asp.net generellt, Tråden har 18 Kommentarer och lästs av 733 personer

Jag har tre gif bilder i en Resourcesfil, men blir inte klok på hur jag skall få fram dom när de skall användas.


Svara

Sv: Bilder i Resourcesfil

Postades av 2007-02-27 10:04:04 - Ted Nyberg

Kolla in följande metod på MSDN: GetWebResourceUrl()

Den kan du använda för att få en URL till en .AXD-handler som i själva verket pekar ut en bild. Den ger dig alltså en URL som:

http://dinsite/webresource.axd?parametrar (denna pekar ut din bild i din Resource-fil)

Sen kan du använda följande pseudokod:

<asp:Image ID="Min bild" ImageUrl="<% GetWebResourceUrl() %>" />


Svara

Sv:Bilder i Resourcesfil

Postades av 2007-02-27 11:28:13 - Benni Svensson

Ted, tack för att du tar dig tid.
Jag förklarade nog väldigt dåligt. Jag håller på att bygga en webbcontroll, där jag i Resource1.resx har
lagt in tre bilder _4.gif,_5gif och _6.gif

Jag försöker att ta fram de så här:
<code>
string sgifJa = Page.ClientScript.GetWebResourceUrl(this.GetType(), "Votes._5.gif");
//lite kod
syes = contVotes(Yes, Yes +No + DontKnow).ToString();
//mera kod
output.Write("<Img Src=\" + sgifJa + \" height=10 width =" + syes + ">");
</code>
..och jag misslyckas totalt. Hur bör jag göra?

[REDIGERA]
Jag gjorde till och med en "idiotgrej" men det fungerar inte
<code>
output.Write("<asp:Image ID=\"Ja\" ImageUrl=\" C:\\Inetpub\\wwwroot\\aspnetstepbystep\UseDataCaching\\Controll_Vote\\Controll_Votes\\_5.gif \" />");
</code>
Om jag sedan tittar på viewsource så ser det riktigt ut, men ingen bild :-(


Svara

Sv: Bilder i Resourcesfil

Postades av 2007-02-27 12:25:56 - Ted Nyberg

Du kan ju testa att göra en så kallad HTTP handler (.ashx) som hämtar en resurs (en bild) och skriver ut den till HTTP-strömmen. Du kan då sätta denna .ashx-fil som URL för din Image (tillsammans med några parametrar som anger vilken bild som ska returneras).

Om du har en .resx-fil kan du nog casta en resurspost till ett Image-objekt genom att helt enkelt referera till resursnamnet (resursen blir ju typed i och med att .resx-filen kompileras). Kolla MSDN för hur du kan använda .ashx-handlers för att hämta data och skriva det till HTTP-strömmen!

Du borde kunna använda följande pseudokod:

<code>
using System.Drawing;

Image minBild = (Image)Resources.NamnetPåDinResursFil.ResursNamnetFörBilden;
</code>


Svara

Sv:Bilder i Resourcesfil

Postades av 2007-02-27 12:48:18 - Benni Svensson

Ted.
Jag gör ett försök så gott jag kan med dina förslag, men får en del error.
<code>
using System.Drawing;
//ger följande error
Error 1 'Image' is an ambiguous reference between 'System.Web.UI.WebControls.Image'
and 'System.Drawing.Image' C:\Inetpub\wwwroot\aspnetstepbystep\UseDataCaching\Controll_Vote\Controll_Votes\Votes.cs
122 14 Controll_Votes
//om jag markerar bort den raden så kommer nästa error
Error 1 Cannot convert type 'System.Drawing.Bitmap' to 'System.Web.UI.WebControls.Image'
C:\Inetpub\wwwroot\aspnetstepbystep\UseDataCaching\Controll_Vote\Controll_Votes\Votes.cs
122 28 Controll_Votes

//det som är possetivt är att nu hittar den bilderna
Image gifJa = (Image)Resource1._5;
Image gifNej = (Image)Resource1._6;
Image gifKanske = (Image)Resource1._4;
</code>
Hur kan jag undvika dessa error?


Svara

Sv: Bilder i Resourcesfil

Postades av 2007-02-27 14:55:40 - Ted Nyberg

Om du har refererat till System.Web.UI.WebControls-namespacet i din handler måste du referera till till Image-typen med hela namnet.

Så, en cast blir då:

<code>
(System.Drawing.Image)ObjektAttKonvertera;
</code>


Svara

Sv:Bilder i Resourcesfil

Postades av 2007-02-27 15:43:57 - Benni Svensson

Nu tycker du säkert att jag är jobbig...
<code>
Image gifJa = (System.Drawing.Image)Resource1._5;
//error
Error 1 Cannot implicitly convert type 'System.Drawing.Image'
to 'System.Web.UI.WebControls.Image'
C:\Inetpub\wwwroot\aspnetstepbystep\UseDataCaching\Controll_Vote\Controll_Votes\Votes.cs
106 30 Controll_Votes

</code>
Och fortfarande så kan jag inte lägga till using System.Drawing; då får jag ett error till.


Svara

Sv: Bilder i Resourcesfil

Postades av 2007-02-27 16:01:02 - Ted Nyberg

Du måste vara lika noggrann när du deklarerar ditt gifJa-objekt:

<code>
System.Drawing.Image gifJa = (System.Drawing.Image)objektAttKonvertera;
</code>


Svara

Sv:Bilder i Resourcesfil

Postades av 2007-02-27 16:49:14 - Benni Svensson

Slarv av mig.
Då är vi alltså här:
<code>
System.Drawing.Image gifJa = (System.Drawing.Image)Resource1._5;
//nu gäller det att fixa bredd och höjd. Enligt någon kod jag hittade..
System.Drawing.Image newgifJa = gifJa.GetThumbnailImage(Convert.ToInt32(Yes), Convert.ToInt32("10"), null, IntPtr.Zero);
//jag måste har breden dynamiskt eftersom detta är till en rösträknare.
//här får jag fel
newgifJa.Save(Server.MapPath("5.gif"), ImageFormat.gif);
//Error The name 'Server' does not exist in the current context
//Error The name 'ImageFormat' does not exist in the current context
//och enligt samma kod
sb.Append("<td>" + newgifJa.ImageUrl = "5.gif" + "</td>")
//jag bygger numera upp den via stringbuilder, jag chansar på att det blir bättre
</code>
Hur fixar jag de senaste erron???


Svara

Sv: Bilder i Resourcesfil

Postades av 2007-02-27 17:15:02 - Ted Nyberg

Error: The name 'ImageFormat' does not exist in the current context

Lösning: Använd hela namespacet, System.Drawing.....

Error: The name 'Server' does not exist in the current context

Lösning: Använd dig av...

<code>
HttpContext.Current.Server.MapPath("5.gif");
</code>


Svara

Sv:Bilder i Resourcesfil

Postades av 2007-02-27 17:39:08 - Benni Svensson

Du är en pärla Ted men..
Enligt koden så skulle det bli
<code>
newgifJa.ImageUrl = "testimagefile_thumb.jpg";
//error Error 'System.Drawing.Image' does not contain a definition for 'ImageUrl'

</code>
Jag försöker alltså använda den så här:
<code>
sb.Append("<td>" + newgifJa.ImageUrl = "5.gif" + "</td>");
</code>
Är jag galet ute i alla fall???


Svara

Sv: Bilder i Resourcesfil

Postades av 2007-02-27 17:52:53 - Ted Nyberg

En System.Drawing.Image är ett bildobjekt som kan användas för att skriva ut en bilds bitar direkt till HTTP-strömmen.

Om du bara vill ha en System.Web.UI.WebControls.Image att rendera ska du använda URL:en du genererade tidigare (den som har en .axd-fil i sig) och sätta ImageUrl till den för System.Web.UI.WebControls.Image-kontrollen!


Svara

Sv:Bilder i Resourcesfil

Postades av 2007-02-27 18:05:33 - Benni Svensson

Aj nu blev jag konfus...
<code>
System.Drawing.Image gifJa = (System.Drawing.Image)Resource1._5;
System.Drawing.Image newgifJa = gifJa.GetThumbnailImage(Convert.ToInt32(Yes), Convert.ToInt32("10"), null, IntPtr.Zero);
gifJa.Dispose();

sb.Append("<td>" + newgifJa.ImageUrl = "5.gif" + "</td>");
File.Delete(HttpContext.Current.Server.MapPath("5.gif"));
</code>
Detta är ju vad som tillhör newgifJa, vad är det som skall ändras då???


Svara

Sv: Bilder i Resourcesfil

Postades av 2007-02-27 23:44:55 - Magnus Bergström

Nu har jag inte kört så mycket bilder i resources på webprojekt, men borde du inte kunna slänga in ett bildobjekt i din kontroll och använda designern till att peka på bilden i din resource-fil?

Jag kan vara helt fel ute...


Svara

Sv:Bilder i Resourcesfil

Postades av 2007-02-28 09:54:36 - Benni Svensson

Magnus, jag börjar att få slut på ideér vill du med några rader kod visa hur du menar så vore jag tacksam.


Svara

Sv: Bilder i Resourcesfil

Postades av 2007-02-28 16:59:39 - Benni Svensson

Jag har fått göra det näst bästa av det hela
<code>
sb.Append("<td><div style=\"background-color:Blue; width:" +
Convert.ToInt32(sdontKnow) + "px\" /div></td>");
</code>
Detta fungerar men blir inte lika snyggt som en bild.
Hur gör jag om jag vill ha en property för att välja färg???


Svara

Sv:Bilder i Resourcesfil

Postades av 2007-02-28 17:05:34 - Ted Nyberg

Det bästa alternativet är nog att läsa på om Resources och även Localization för ASP.NET på MSDN eller annat lämpligt ställe, frågan blir lite för yvig för att diskutera här...

Lycka till, Benni!

Påminner också om mitt första svar som går ut på att använda följande:

<code>
<asp:Image ID="Min bild" ImageUrl="<% GetWebResourceUrl() %>" />
</code>


Svara

Sv: Bilder i Resourcesfil

Postades av 2007-02-28 18:55:30 - Benni Svensson

Ted, jag förstår att du är besviken. Jag har ängnat flera dagar nu med att försöka komma tillrätta med
detta problemet. Hur mycket jag har läst, försökt och stuvat om det vet jag inte men mycket är det.
Jag får det fortfarande inte att fungera.
<code>
//min Assemblyfil
[assembly: WebResource("Controll_Votes.Resources._4.gif", "image/gif")]
//min kod
sb.Append("<td><asp:Image ID=\"JaBild\" ImageUrl=\"<% GetWebResourceUrl(typeof
(img/gif),\"Controll_Votes.Resources._4.gif\")%>\"/></td>");
//Viewsource
<asp:Image ID="JaBild" ImageUrl="<% GetWebResourceUrl(typeof(img/gif),"_4.gif")%>"/>
</code>
Enligt alla de sidor som jag har hittat så borde det se ut så här, men det hjälper inte.

[REDIGERT]
Jag tycker nog att jag har fått till det ganska så bra ändå. Tack för all hjälp.


Svara

Sv:Bilder i Resourcesfil

Postades av 2007-03-01 08:24:56 - Ted Nyberg

En viktig sak med WebResourceUrl är att TYPE-argumentet ska anges till någon typ som ENDAST finns definierad i den assembly där resursen finns. Jag hade detta problem själv (då med separerade assemblies), och löste det genom att använda typeof(minKlassIResursensAssembly) som typargument.

Än en gång, lycka till!


Svara

Nyligen

  • 19:42 Online Casinos for Haitian Players
  • 19:38 Rekommendera något intressant
  • 19:13 Международная перевозка грузов
  • 00:01 DL Van Tuning | Exclusive Body Kit
  • 12:08 Indian casino
  • 04:14 Vad finns det för kratomalternativ
  • 14:16 Indian online casino
  • 14:15 Indian online casino

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 878
27 965
271 771
573
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies