Problém - procentuální zmenšení resizer – Visual Basic – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Problém - procentuální zmenšení resizer – Visual Basic – Fórum – Programujte.comProblém - procentuální zmenšení resizer – Visual Basic – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Lukáš
~ Anonymní uživatel
275 příspěvků
12. 5. 2013   #1
-
0
-

zdravím , tvořím image resizer - zmenšovač obrázků. povedlo se mi ho zatím udělat tak, že se načtou obrázky -> klikne se na "Resize" , otevře se nový Form , v něm zvolit úložiště (SelectFolderDialog) , pak napsat ručně výšku, šířku a potvrdit. Rád bych ale dodělal možnost napsat do jednoduchého dalšího TextBoxu procenta (prostě napsat číslo) a on by to zmenšil v tomto poměru (například napíšu 20 a on zmenší původní načtené obrázky jejich šířku/výšku na 20%) . 

Kód na zmenšení obrázku tak jak to mám teď bez toho je zhruba takhle - viz. dole (RadioButtony jsou tam na PŘEPÍNÁNÍ volby Zmenšit zadáním šířka/výška  NEBO  Zmenšit zadáním procenta . 

Problém je , že nevím co doplnit v druhé části (IF RADIOBUTTON2.CHECKED = TRUE (= když uživatel zvolí možnost resizovat obrázek procentuálně)) , aby to bralo šířku / výšku PŮVODNÍHO obrázku ( ty jsou načteny jako jednotlivé ITEMS v ListView ve Form1) , kterou bych následně násobil  (prc)/100  (= přepočet na procenta) . Mám deklarovano PRC as Integer  a pak PRC = txprocent.Text (= textbox s uživatelem zadanou hodnotou) . 

Jde o maturitní program = MOC prosím o pomoc !!!!

ht = Me.txheight.Text
        wt = Me.txwidth.Text
        prc = Me.txprocent.Text
        Me.Hide()
        loader.Show()
        loader.ProgressBar1.Maximum = Form1.ListView1.Items.Count
        Dim i As Integer = 1
        For Each item In Form1.ListView1.Items
            Try
                If RadioButton1.Checked = True Then
                    loader.ProgressBar1.Value = i
                    Dim bmp As Bitmap = New Bitmap(wt, ht)
                    Using g As Graphics = Graphics.FromImage(bmp)
                        g.DrawImage(Image.FromFile(item.Text), 0, 0, bmp.Width, bmp.Height)
                    End Using
                    Dim filename As String = FileIO.FileSystem.GetFileInfo(item.Text).Name
                    Dim ext As String = FileIO.FileSystem.GetFileInfo(item.Text).Extension
                    Dim fullfilename As String = Me.txfolder.Text & "\" & filename
                    If LCase(ext) = ".jpg" Or LCase(ext) = ".jpeg" Then
                        bmp.Save(fullfilename, System.Drawing.Imaging.ImageFormat.Jpeg)
                    ElseIf LCase(ext) = ".png" Then
                        bmp.Save(fullfilename, System.Drawing.Imaging.ImageFormat.Png)
                    ElseIf LCase(ext) = ".gif" Then
                        bmp.Save(fullfilename, System.Drawing.Imaging.ImageFormat.Gif)
                    ElseIf LCase(ext) = ".bmp" Then
                        bmp.Save(fullfilename, System.Drawing.Imaging.ImageFormat.Bmp)
                    End If
                    'MsgBox(FileIO.FileSystem.GetFileInfo(item.Text).Extension)
                    loader.lblcontent.Text = item.Text
                    loader.lblcontent.Refresh()
                    loader.lblstatus.Text = "Resizing " & i & " of " & Form1.ListView1.Items.Count
                    loader.lblstatus.Refresh()
                    item.SubItems(3).Text = "Resized"
                ElseIf RadioButton2.Checked = True Then
                    loader.ProgressBar1.Value = i
                    Dim bmp As Bitmap = New Bitmap
                    Using g As Graphics = Graphics.FromImage(bmp)
                        g.DrawImage(Image.FromFile(item.Text), 0, 0, bmp.Width, bmp.Height)
                    End Using
                    Dim filename As String = FileIO.FileSystem.GetFileInfo(item.Text).Name
                    Dim ext As String = FileIO.FileSystem.GetFileInfo(item.Text).Extension
                    Dim fullfilename As String = Me.txfolder.Text & "\" & filename
                    If LCase(ext) = ".jpg" Or LCase(ext) = ".jpeg" Then
                        bmp.Save(fullfilename, System.Drawing.Imaging.ImageFormat.Jpeg)
                    ElseIf LCase(ext) = ".png" Then
                        bmp.Save(fullfilename, System.Drawing.Imaging.ImageFormat.Png)
                    ElseIf LCase(ext) = ".gif" Then
                        bmp.Save(fullfilename, System.Drawing.Imaging.ImageFormat.Gif)
                    ElseIf LCase(ext) = ".bmp" Then
                        bmp.Save(fullfilename, System.Drawing.Imaging.ImageFormat.Bmp)
                    End If
                    'MsgBox(FileIO.FileSystem.GetFileInfo(item.Text).Extension)
                    loader.lblcontent.Text = item.Text
                    loader.lblcontent.Refresh()
                    loader.lblstatus.Text = "Resizing " & i & " of " & Form1.ListView1.Items.Count
                    loader.lblstatus.Refresh()
                    item.SubItems(3).Text = "Resized"
                End If

Nahlásit jako SPAM
IP: 2a00:1028:83cc:4a26:6131:...–
Reklama
Reklama
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 14 hostů

Podobná vlákna

Procentuální podíl v C# — založil artorie

Procentuální zastoupení prohlížečů — založil Anonymní uživatel

Zmenšení řetězce? — založil DjeFFeCt

Zmenšení obrázku — založil Matej Zabsky

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý