» »

[asp.net] simpl image editor

[asp.net] simpl image editor

DK6607 ::

Torej zanima me, če mi lahko kdo pomaga, kako naret nek simpl image editor. Delam pa v asp.net. Torej kaj bi delo?
Insicer recimo imaš neki spletni portal, kjer lahko naložiš neke slike. Zdaj pa bi rad, da če je slika prevelika po velikosti, da jo zmanjša, ampak ne samo tako da jo zaslonsko prikaže manjšo, ampak da bi zmanjšalo resolucijo slike in s tem tudi posledično velikost slike v kilobajtih. Torej primer, da določiš da so vse slike velikosti 100×75 px in resolucije 72 dpi.
Kaj bi rad s tem predvsem dosego je to, da slike ne zasedejo preveč, ker bi recimo bilo naloženih relativno veliko slik in da nebi s tem prehitro napolni prostora na serverju.
Aja, morem pa še rečt, da bi te slike nalogali useri, ker či bi sam, bi tak v neke programu to naredo!!!

LP!



[ drugič najprej: PREBERI ME: označevanje topicov v oddelku programiranje! - snow]
  • spremenilo: snow ()

matejv ::

za php bi vedu, asp pa res ne. poglej na netu če obstaja kaka knjižica za delo s slikami.

Microsoft ::

A ni pol bolj smiselno, da ze na samem zacetku omejis velikost slike, recimo na 50kb, pa je. Ali je pomembna tudi sirina slike?!

Potem, uporabi FileUpload. Ga imas v ASP.NET 2.0. Potem naredis click event na en gumb za upload in v tem eventu das tole:

//Da pogledas, ce je sploh kak fajl
if (!this.FileUpload.HasFile)
return;

//Da ga omejis na 50 kilo
if (this.FileUpload.PostedFile.ContentLength > 50)
return;

//Da preveris, da ima fajl sploh kako koncnico (pa {} moras zamenjat z onim oklepajem za array)
string{} file = this.FileUpload.FileName.Split('.');
if (file.Length < 2)
return;

//Da omejis samo na dolocene koncnice (isto tu zamenjaj {})
string extension = file[file.Length-1].ToLower();
bool ok = false;
string{} extensions = { "jpg", "jpeg", "gif", "png"};
for (int i = 0; i < extensions.Length; i++)
{
if (extensions{i} == extension)
{
ok = true;
break;
}
}

if (!ok)
return;

//In da shrani
this.FileUpload.SaveAs("R:\Pics\" + this.FileUpload.PostedFile.FileName);


by Miha
s8eqaWrumatu*h-+r5wre3$ev_pheNeyut#VUbraS@e2$u5ESwE67&uhukuCh3pr

Zgodovina sprememb…

DK6607 ::

Jaz bi rad, da lahko vstaviš sliko poljubno veliko, potem pa bi aplikacija to pretvorila v poljubno velikost in dimenzije, katere bi pač jaz določo na začetku.
Torej konkreten primer, nek uporabnik vstavi slikom, ki ima resolucijo 200 dpi, potem pa bi aplikacija to avtomatsko še preden bi shranla sliko na server pretvorila v 100 dpi in s tem bi slika imela 4 krat manjšo velikost (v kb).

CWIZO ::

GDI+ ima vse kar rabis.
Poglej si kak tutorial an to temo. Resizanje slik je v vskaem začetniškem tutorialu.
Na codeproject.com boš našel neomejeno tega.
hancic.info
I can't uninstall it, there seems to be some kind of "Uninstall Shield"...

DK6607 ::

Sem najšel eno kodo za image editor na spodnjem naslovu:

http://www.codeproject.com/aspnet/pngup...

Stvar sicer deluje, ampak ima eno pomanjklivost, insicer sliko, ki vstaviš oz.
naložiš mora biti formata .png, ker če ni, je pretvorjena slika popačena oz.
zrnata (zelo slaba kvaliteta). V čem je poanta, da stvar dobro deluje samo na
png formatu.
Se da to kako spremeniti?

LP!

Zgodovina sprememb…

  • spremenil: DK6607 ()

darkolord ::

Tako nekako:

    // poisce image/jpeg encoder in kvaliteto nastavi na 90
    EncoderParameters encoderParameters = new EncoderParameters(1);
    encoderParameters.Param[0] = new EncoderParameter(Encoder.Quality, 90L);
    ImageCodecInfo jpegCodec = GetEncoderInfo("image/jpeg");

    // shrani sliko z image/jpeg encoderjem
    NormalImg.Save(Filename, jpegCodec, encoderParameters);

    private static ImageCodecInfo GetEncoderInfo(string mimeType)
    {
        // Get image codecs for all image formats 
        ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();

        // Find the correct image codec 
        for (int i = 0; i < codecs.Length; i++)
            if (codecs[i].MimeType == mimeType)
                return codecs[i];
        return null;
    } 


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[c#] shrani text, tabele, slike

Oddelek: Programiranje
251418 (1024) klemen93
»

[android] vstavljanje slike

Oddelek: Programiranje
71151 (1048) messi
»

DLNA mreža za TV (PROGRAM)

Oddelek: Programska oprema
83523 (2669) radmannsdorf
»

[C++]Kako narediti screenshot?

Oddelek: Programiranje
121454 (1025) *ziga*
»

branje byte[] iz MS access-ove baze

Oddelek: Programiranje
81790 (1700) BHawk

Več podobnih tem