Witam, mam taki kłopot z jsp. Otóz chciałbym napisac prostą aplikacje w jsp ktora polega na wczytaniu obrazu z podawanej przez uzytkownika lokalizacji(link w sieci albo lokalizacja na dysku) i pozniejszym dzialaniu na nimi itd,
Cały problem w tym, że niestety nie mam pojęcia jak przekazac zmienna typu string do tresci programu, ma ktos pojecie jak to zrobić? bede bardzo wdzieczny za pomoc:)
<%@page import ="java.util.*,java.text.*,java.math.*" %>
<%@page import ="java.awt.image.*" import="java.awt.*" import="javax.imageio.*" import="java.io.*" import="java.applet.*"%>
<%@page import ="java.awt.Graphics" import="java.awt.Image"%>
<%@page import ="java.io.BufferedReader"%>
<%@page import ="java.io.IOException"%>
<%@page import ="java.io.InputStream"%>
<%@page import ="java.io.InputStreamReader"%>
<%@page import ="java.net.MalformedURLException"%>
<%@page import ="java.net.URL"%>
<html>
<head>
<title>Obrazy</title>
</head>
<body>
<fieldset style="color:Blue;Background-color:#FFFEC0;width:550px" ><legend><strong><b><i>Obrazy</i></b></strong></legend>
<form action="plik.jsp" method=post>
<img src="foto.jpg" />
<table>
<tr>
<td>
Podaj url:
</td>
<td>
<input type="text" name="url1" value=<%=request.getParameter("url1") %>></input>
</td>
</tr>
<tr>
<td>
Co chcesz zrobić???
</td>
<td>
<select name="zadanie" value=request.getParameter("zadanie")>
<option value="1">zmiana obrazu na negatyw</option>
<option value="2">odbicie poziome</option>
<option value="3">odbicie pionowe</option>
<option value="4">zamiana obrazy kolorowego na 256 odcieni szarości</option>
</select>
</td>
</tr>
</table>
twoja sciezka:
<%= request.getParameter("url1")%>
<%-- zadanie<input type="text" name="zadanie" value=<%=request.getParameter("zadanie") %>></input>--%>
<center><input type=submit value="Dalej"></input></center>
<%
String u;
u=request.getParameter("url1");
//wczytanie obrazu
int j, k, rgb, alpha, red, green, blue;
BufferedImage img = ImageIO.read(new File(u));
//obliczenie rozmiaru obrazu
int width = img.getWidth();
int height = img.getHeight();
//utworzenie nowego obrazu
File plik1 = new File("C:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/ROOT/foto1.jpg");
BufferedImage img1 = new BufferedImage(width,height,BufferedImage.TYPE_3BYTE_BGR);
//-------------------------------------------------------------------------------------------------------------
try{
if(request.getParameter("zadanie")!=null){
if(Integer.parseInt(request.getParameter("zadanie"))==1){
//petla zamienia wartosc kazdego piksela na przeciwna
for(k=0;k<width;k++)
for(j=0;j<height;j++){
rgb = img.getRGB(k,j);
alpha = ((rgb >> 24) & 0xff);
red = ((rgb >> 16) & 0xff);
green = ((rgb >> 8) & 0xff);
blue = ((rgb ) & 0xff);
img1.setRGB(k,j,new Color(255-red,255-green,255-blue).getRGB());
}
}
//-------------------------------------------------------------------------------------------------------------
if(Integer.parseInt(request.getParameter("zadanie"))==2){
//odbicie w pionie
//petla zaminia piksele
for(k=0;k<width;k++)
for(j=0;j<height;j++){
rgb = img.getRGB(k,j);
alpha = ((rgb >> 24) & 0xff);
red = ((rgb >> 16) & 0xff);
green = ((rgb >> 8) & 0xff);
blue = ((rgb ) & 0xff);
img1.setRGB(width-k-1, j, new Color(red, green, blue).getRGB());
}
}
//-------------------------------------------------------------------------------------------------------------
if(Integer.parseInt(request.getParameter("zadanie"))==3){
//odbicie w poziomie
//petla zaminia piksele
for(k=0;k<width;k++)
for(j=0;j<height;j++){
rgb = img.getRGB(k,j);
alpha = ((rgb >> 24) & 0xff);
red = ((rgb >> 16) & 0xff);
green = ((rgb >> 8) & 0xff);
blue = ((rgb ) & 0xff);
img1.setRGB(k, height-j-1, new Color(red, green, blue).getRGB());
}
}
//-------------------------------------------------------------------------------------------------------------
if(Integer.parseInt(request.getParameter("zadanie"))==4){
//zamiana na skale szarości
//petla zaminia piksele
for(k=0;k<width;k++)
for(j=0;j<height;j++){
rgb = img.getRGB(k,j);
alpha = ((rgb >> 24) & 0xff);
red = ((rgb >> 16) & 0xff);
green = ((rgb >> 8) & 0xff);
blue = ((rgb ) & 0xff);
double pierw1 = Math.sqrt((red*red + green*green + blue*blue)/3);
//konwersja z double na int
int pierw = (int)pierw1;
img1.setRGB(k, j, new Color(pierw, pierw, pierw).getRGB());
}
}
}
}catch(Exception e){System.out.println("blad");};
//zapisanie do pliku
ImageIO.write(img1,"jpg",plik1);
%>
<!------------------------------------------------------------------------------------------------------------->
<br/>
wybrałeś opcje:
<%= request.getParameter("zadanie")%>
<!- wyswietlenie rezultatu dzialania -->
<br/>
<img src="foto1.jpg" />
</fieldset>
</body>
</html>