Zdravím všechny,
mám string, ten obsahuje parametry obrázku z webu, tohle je obsah jedno stringu: <img src="......" width="...." height="....">. Pomocí splitstring ho mám rozdělený a potřebuji každý jednotlivý element porovnat s hodnotami získanými načtečním tohot obrázku. Zkrátka potřebuju porvnat rozměry obrázku zadané tvůrcem stránky a opravdové rozměry, získané jeho načtením.
C# načtení a použití jednotlivých prvků z pole Vyřešeno
- CZechBoY
- Master Level 9.5
- Příspěvky: 8813
- Registrován: srpen 08
- Bydliště: Brno
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: C# načtení a použití jednotlivých prvků z pole
chceš porovnat prostě rozměry obrázku z HTML kodu a obrázku podle EXIFu ne?
ten HTML rozřeč přes regulár, budeš to mít jednodušší :-)
System.Drawing.Image taky existuje a tam jsou i vlastnosti Height a Width takže to můžeš použít pro ten obrázek
ten HTML rozřeč přes regulár, budeš to mít jednodušší :-)
System.Drawing.Image taky existuje a tam jsou i vlastnosti Height a Width takže to můžeš použít pro ten obrázek

PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
-
- Pohlaví:
Re: C# načtení a použití jednotlivých prvků z pole
hele já sem houby prográmator a rozumim tomu asi jako koza petrželi, takže tu na mě prosim nevytahuj nic jinýho
, ja prostě potřebuju vědět jak mám s toho rozděleného stringu získat ty číslíčka jako int. Ten int pak v další metodě prostě porovnám s tim co mi o sobě ten obrázek řek, když sem ho načetl a pokud se to bude rovnat... pohoda, pokud ne tak to vypíšu do textboxu jako chybu.
Chtěl to to udělat přes cyklus foreach, takže jak to napsat?? Mám už rozdělenej string atributyTagu, ale jak ho použít...
foreach (???)
{
???
}

Chtěl to to udělat přes cyklus foreach, takže jak to napsat?? Mám už rozdělenej string atributyTagu, ale jak ho použít...
foreach (???)
{
???
}
- CZechBoY
- Master Level 9.5
- Příspěvky: 8813
- Registrován: srpen 08
- Bydliště: Brno
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: C# načtení a použití jednotlivých prvků z pole
mno tak co zatim máš a co umíš?
přes regulární výraz bys to lehce zjistil, ale musel bys kontrolovat jestli tam není třeba jen width nebo jen height (občas to tak taky dělám, ale spíš oboje nebo nic) - tohle umíš zjistit?
ty údaje z obrázku přes EXIF nebo System.Drawing.Image umíš zjistit?
přes regulární výraz bys to lehce zjistil, ale musel bys kontrolovat jestli tam není třeba jen width nebo jen height (občas to tak taky dělám, ale spíš oboje nebo nic) - tohle umíš zjistit?
ty údaje z obrázku přes EXIF nebo System.Drawing.Image umíš zjistit?
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
-
- Pohlaví:
Re: C# načtení a použití jednotlivých prvků z pole
Oukej mám na zadané stránce najít obrázky a porovnat parametry z kódu (tzn. width a height) s realnými paramentry. Kód už mám jako string kodStranky a v tehle metode najdu sekvence, ktere se tykaji obrazku. Ty pak pomoci splitstringu rozsekam na atributyTagu. Takže potřebuju najít v atributyTagu to co hledám... height="XXX" z toho vzít jen ty čísla ty čísla mít pro další metodu, kde je budu porvnávat, jako int height a width
private void ZkontrolujObrazky(string kodStranky)
{
int indexZacatku = 0;
int indexKonce, width, height;
string adresaObrazku;
string obsahTagu;
string[] atributyTagu;
while ((indexZacatku = kodStranky.IndexOf("<img ", indexZacatku)) > -1)
{
indexKonce = kodStranky.IndexOf(">", indexZacatku + 4);
obsahTagu = kodStranky.Substring(indexZacatku + 5, indexKonce - indexZacatku - 6);
atributyTagu = obsahTagu.Split();
width = height = 0;
adresaObrazku = null;
TestujObrazek(adresaObrazku, width, height);
indexZacatku = indexKonce + 1;
}
}
private void ZkontrolujObrazky(string kodStranky)
{
int indexZacatku = 0;
int indexKonce, width, height;
string adresaObrazku;
string obsahTagu;
string[] atributyTagu;
while ((indexZacatku = kodStranky.IndexOf("<img ", indexZacatku)) > -1)
{
indexKonce = kodStranky.IndexOf(">", indexZacatku + 4);
obsahTagu = kodStranky.Substring(indexZacatku + 5, indexKonce - indexZacatku - 6);
atributyTagu = obsahTagu.Split();
width = height = 0;
adresaObrazku = null;
TestujObrazek(adresaObrazku, width, height);
indexZacatku = indexKonce + 1;
}
}
- CZechBoY
- Master Level 9.5
- Příspěvky: 8813
- Registrován: srpen 08
- Bydliště: Brno
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: C# načtení a použití jednotlivých prvků z pole
nechápu o co ti teď jde, chceš projít pole a něco z něj vypsat?
nemůžeš přijít na to jak dostat ze stringu [i]height="10"[i] tu 10 ?
musíš na mě jak na blba, dneska už toho mám dost :-)
nemůžeš přijít na to jak dostat ze stringu [i]height="10"[i] tu 10 ?
musíš na mě jak na blba, dneska už toho mám dost :-)
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
-
- Pohlaví:
Re: C# načtení a použití jednotlivých prvků z pole
Tak fajn. Z tohodle pole potřebuju dostat parametry height a width. Ty pak musim porovnat s tim co o sobe tvrdi ten obrazek. Takze např. autor da na svou stranku obrazek o rozmerech 350x400, ale v kodu mu zada parametry 750x650. Ja si tedy z kodu musim zjistit jake paramentry mu zadal a pak to porovnat s originalmi parametry, protoze pokud udelal to co jsem napsal, tak je to celkem blb a obrazek muze delat problemy. To co tedy od tebe(mebo nekoho jineho...) chci poradit je jak si ty parametry pripravit k dalsimu pouziti.
- CZechBoY
- Master Level 9.5
- Příspěvky: 8813
- Registrován: srpen 08
- Bydliště: Brno
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: C# načtení a použití jednotlivých prvků z pole
chceš použít parametry k dalšímu použití? tak si udělej proměnný k tomu obrázku 
popiš problém, co už máš, co ti nejde, obsahy proměnných, názorný ukázky, úskalí (bo úzkalí?)
ty děláš nějakej prohlížeč?
když autor zadá velikost obrázku větší než je tak je blbej, ale stejně to musí prohlížeč zobrazit tak jak pán poroučí...

popiš problém, co už máš, co ti nejde, obsahy proměnných, názorný ukázky, úskalí (bo úzkalí?)
ty děláš nějakej prohlížeč?
když autor zadá velikost obrázku větší než je tak je blbej, ale stejně to musí prohlížeč zobrazit tak jak pán poroučí...
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
-
- Pohlaví:
Re: C# načtení a použití jednotlivých prvků z pole
Přesně tak, já dělám program, kterej mimo jiné zkoumá tuto věc a pak případně autor dostane vyhubováno. A jednou to specifikuju i když už nevim jak jinak to říct. Mám pole rozdělené splitstringem... tzn. z kodu mam vytahnuté pasáže <img src="bla" height="bla" width="bla" apod.>
takže po splitnutí mám pole které obshaje několik částí, nevim jak přesně to mám popsat:D. A z tohoto pole potřebuju získat ty "bla" takže bych pak měl mít pro každý takto prověřený obrázek int width a height s nějakou hodnou, kterou právě z toho pole získám. Tuto hodnotu srovnám s hodnotami Width a Height, které má ten obrázek originálně. POkud se to rovná... fajn, pokud ne, do textboxu to vypíšu jako chybu. To už mám vyřešené, prostě potřebuje vytvořit z toho pole proměné int height a width, které pak musim porovnat...
takže po splitnutí mám pole které obshaje několik částí, nevim jak přesně to mám popsat:D. A z tohoto pole potřebuju získat ty "bla" takže bych pak měl mít pro každý takto prověřený obrázek int width a height s nějakou hodnou, kterou právě z toho pole získám. Tuto hodnotu srovnám s hodnotami Width a Height, které má ten obrázek originálně. POkud se to rovná... fajn, pokud ne, do textboxu to vypíšu jako chybu. To už mám vyřešené, prostě potřebuje vytvořit z toho pole proměné int height a width, které pak musim porovnat...
- CZechBoY
- Master Level 9.5
- Příspěvky: 8813
- Registrován: srpen 08
- Bydliště: Brno
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: C# načtení a použití jednotlivých prvků z pole
jo tak si udělej regulár width="XX" a druhej height="XX"
doufám že víš jak pracovat s regulárem :-)
doufám že víš jak pracovat s regulárem :-)
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
-
- Pohlaví:
Re: C# načtení a použití jednotlivých prvků z pole
vypadám na to? odpověď je prostá... NE. Prosím poradíš mi? 

- CZechBoY
- Master Level 9.5
- Příspěvky: 8813
- Registrován: srpen 08
- Bydliště: Brno
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: C# načtení a použití jednotlivých prvků z pole
RegEx a Match je v namespacu System.Text.RegularExpressions, můžeš dát using nebo to napsat před tu třídu
Regex regW = new Regex(@"(width=""(?<width>(\d+))"")");
Regex regH = new Regex(@"(height=""(?<width>(\d+))"")");
Match mW = regW.Match("<img width="XXX" height="XXX");
Match mH = regH.Match("<img width="XXX" height="XXX");
int width= Convert.ToInt(mW.Groups["width"]);
int height= Convert.ToInt(mH.Groups["height"]);
jsem to musel najít
dlouhý jak tejden, ale mělo by to fungovat 
Regex regW = new Regex(@"(width=""(?<width>(\d+))"")");
Regex regH = new Regex(@"(height=""(?<width>(\d+))"")");
Match mW = regW.Match("<img width="XXX" height="XXX");
Match mH = regH.Match("<img width="XXX" height="XXX");
int width= Convert.ToInt(mW.Groups["width"]);
int height= Convert.ToInt(mH.Groups["height"]);
jsem to musel najít


PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
-
- Mohlo by vás zajímat
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
- 1
- 1901
-
od Zivan
Zobrazit poslední příspěvek
01 pro 2024 14:44
-
-
15" notebook na domácí použití
od michal84 » 03 zář 2024 17:57 » v Rady s výběrem hw a sestavením PC - 7
- 3706
-
od michal84
Zobrazit poslední příspěvek
28 zář 2024 10:05
-
-
-
Použití mobilních dat při probíhajícím hovoru Příloha(y)
od MK_Vs » 01 říj 2024 10:35 » v Mobily, tablety a jiná přenosná zařízení - 12
- 4966
-
od šulda
Zobrazit poslední příspěvek
03 říj 2024 11:20
-
Zpět na “Programování a tvorba webu”
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 5 hostů