java預覽圖片
預覽,不能簡單的用<img>,然後把地址賦給src的,會出現瀏覽器不兼容問題
用css濾鏡,像下面
document.getElementById("previewImg").style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale',src='" + o.value + "')";
至於如何上傳,struts2很方便的
⑵ 如何用java實現圖片預覽功能,求代碼
使用兩種不同的方法實現圖片預覽功能
Java代碼
<BODY>
<script language="javascript">
function ShowImage(path){
document.all.divShow.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = path;
}
function test(){
document.all.showimg.src=document.all.file1.value;
}
</script>
<INPUT style="Z-INDEX: 101; LEFT: 232px; POSITION: absolute; TOP: 272px" type="file"onchange="ShowImage(this.value)">
<div id="divShow" style="FILTER:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=image);WIDTH:274px;HEIGHT:100px">
<input type="file" id="file1" onchange="test()"><br/>
<img id="showimg" style="width:200px;height:200px;">
</BODY>
⑶ java中多張blob圖片如何在前台預覽,要求這些圖片同時顯示,最好有代碼
//您好,提問者:
比如您後台查詢的是個List集合數組,前台接受。
List<String>list=newArrayList<String>();//import你懂的
list.add("D:\xx.jpg");//我不是查詢資料庫,手動添加圖片地址,你也懂的
list.add("D:\xx1.jpg");
//這個時候如果struts2的話list是public有setget的話肯定前台能拿到
//如果不是就放到request.setAttribute("list",list);中
這下面是頁面代碼:
<%
Listlist=request.getAttribute("list");
for(inti=0;i<list.size();i++){%>
<imgsrc="<%=list.get(i)%>"/>
<%}%>
⑷ 用java寫上傳圖片時,怎麼實現預覽功能
圖片上傳後在網頁上直接讀取上傳後的地址進行預覽,就是說這個時候圖片已經上傳到伺服器了,如果要寫的嚴謹一些,可以在預覽後進行保存操作,如果不保存,則再寫一條語句把上傳上去的文件刪除
⑸ java上傳圖片本地預覽最好有例子
<divid="localImag">
<imgid="preview"alt="預覽圖片"runat="server"style="width:200px;height:65px"/>
</div>
<asp:FileUploadonkeydown="returnfalse"onkeyup="returnfalse"ID="FileUpload1"
runat="server"Width="300px"onchange="setImagePreview(this,localImag,preview,'200px','65px');"/>
///<summary>
///上傳文件
///</summary>
///<paramname="MyFile"></param>
///<paramname="dirPath">文件存儲路徑(相對路徑)</param>
///<paramname="errorMsg">錯誤信息</param>
///<returns>文件名</returns>
(FileUploadAttachFile,stringdirPath,outstringerrorMsg)
{
stringfileMsg=CheckUploadFile(AttachFile);
//如果返回信息不為""則返回錯誤信息
if(!"".Equals(fileMsg))
{
errorMsg=fileMsg;
return"";
}
//獲取文件名稱,包含後綴
stringFileName=AttachFile.FileName;
//獲取文件擴展名
stringExtenName=System.IO.Path.GetExtension(FileName);
//將後綴名稱大寫
stringupExtenName=ExtenName.ToUpper();
//獲取上傳文件存儲相路徑
stringRelativePath=dirPath;
//獲取上傳文件存儲絕對路徑
stringSavePath=System.Web.HttpContext.Current.Server.MapPath(RelativePath);
//遠程用戶ip地址
stringipStr=System.Web.HttpContext.Current.Request.UserHostAddress;
//判斷存放文件夾是否存在
if(!Directory.Exists(SavePath))
{
//創建存放文件夾
Directory.CreateDirectory(SavePath);
}
//拼接成上傳文件保存名稱
stringSaveFileName=ipStr+"_"+DateTime.Now.ToString("yyyyMMddHHmmss")+ExtenName;
//生成文件上傳全路徑
stringSaveFilePath=SavePath+"/"+SaveFileName;
//將excel文件上傳至伺服器路徑下
AttachFile.SaveAs(SaveFilePath);
errorMsg="";
returnSaveFileName;
}
functionshowUploadImg(flag){
if(flag==1){
document.getElementById("img_upload").style.display='';
}
else{
document.getElementById("img_upload").style.display='none';
}
}
functionsetImagePreview(docObj,localImagId,imgObjPreview,width,height){
if(docObj.files&&docObj.files[0]){
//火狐下,直接設img屬性
imgObjPreview.style.display='block';
imgObjPreview.style.width=width;
imgObjPreview.style.height=height;
//火狐7以上版本不能用上面的getAsDataURL()方式獲取,需要一下方式
imgObjPreview.src=window.URL.createObjectURL(docObj.files[0]);
}
else{
//IE下,使用濾鏡
docObj.select();
varimgSrc=document.selection.createRange().text;
//必須設置初始大小
localImagId.style.width=width;
localImagId.style.height=height;
//圖片異常的捕捉,防止用戶修改後綴來偽造圖片
try{
localImagId.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)";
localImagId.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src=imgSrc;
}
catch(e){
alert("您上傳的圖片格式不正確,請重新選擇!");
returnfalse;
}
imgObjPreview.style.display='none';
document.selection.empty();
}
returntrue;
}
⑹ 用java將數據導出到wps表格中,怎麼實現
一:頁面圖片顯示預覽:
1)如下圖:
二:代碼演示:
說明:執行操作時,請先引進導出excel表格的jar文件包。
找到導出按鈕所執行的js方法,在java後天查看該方法的實現即可。
1)jsp代碼:
[html]view plainprint?
<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>
<%@taglibprefix="s"uri="/struts-tags"%>
<%
Stringpath=request.getContextPath();
StringbasePath=request.getScheme()+"://"
+request.getServerName()+":"+request.getServerPort()
+path+"/";
%>
<html>
<head>
<basehref="<%=basePath%>">
<title>駕校合格率排名</title>
<linkhref="jsp/commonstyle/css/tabStyle.css"rel="stylesheet"type="text/css">
<linkrel="STYLESHEET"type="text/css"href="<%=basePath%>jsp/hgltj/js/tablesort.css">
<scripttype="text/javascript"src="<%=basePath%>jsp/system/common/js/publicColor.js"></script>
<scripttype="text/javascript"src="jsp/commonstyle/js/js/My97DatePicker/WdatePicker.js"defer="defer"></script>
<scripttype="text/javascript"src="<%=basePath%>jsp/hgltj/js/tablesort.js"></script>
<scriptlanguage="JavaScript">
functionload()
{
//根據解析度設置表格大小
maxw=document.getElementById("maintb").offsetWidth;
if(maxw<824){//1024解析度未展開
mainbox.width="98%";
}elseif(maxw<1013){//1024解析度展開
mainbox.width="98%";
}elseif(maxw<1081){//1280解析度未展開
mainbox.width="95%";
}elseif(maxw<1270){//1280分辨未展開
mainbox.width="95%";
}else{//1280以上分辨展開
mainbox.width="98%";
}
}
</script>
<script>
functionoverIt(){
varthe_obj=event.srcElement;
if(the_obj.tagName.toLowerCase()=="td"){
the_obj=the_obj.parentElement;
the_obj.oBgc=the_obj.currentStyle.backgroundColor;
the_obj.oFc=the_obj.currentStyle.color;
the_obj.style.backgroundColor='#4073C4';
the_obj.style.color='#ffffff';
the_obj.style.textDecoration='underline';
}
}
functionoutIt(){
varthe_obj=event.srcElement;
if(the_obj.tagName.toLowerCase()=="td"){
the_obj=the_obj.parentElement;
the_obj.style.backgroundColor=the_obj.oBgc;
the_obj.style.color=the_obj.oFc;
the_obj.style.textDecoration='';
}
}
functionserch(){
document.getElementById("formName").action="<%=basePath%>hgltj.action?method=getHglpm";
document.getElementById("formName").submit();
}
functiontbbt(){
varjzrq=document.getElementById("jzrqId").value;
//varjxmc=document.getElementById("jxmcId").value;
window.open('<%=basePath%>hgltj.action?method=getHglpmTb&tjjxkshgl.jzrq='+jzrq+'&tjjxkshgl.zt='+1,'','height=650,width=1250,top=150,left=200,toobar=no,menubar=no,scrollbars=yes,resizable=no,location=no,');
}
functionopenwd(){
document.getElementById("formName").action="<%=basePath%>hgltj.action?method=downJxhglPm";
document.getElementById("formName").submit();
}
</script>
</head>
<BODYonLoad="load()"style="background:url(images/cont_bg.gif);background-repeat:repeat-y">
<inputtype="hidden"name="method"value="getDriverInfoList"/>
<tableborder="0"width="100%"cellspacing="0"cellpadding="0"id="maintb">
<tr>
<tdalign="center">
<tablewidth="90%"border="0"cellspacing="0"cellpadding="0"id="mainbox"style="background:url(jsp/commonstyle/images/usermessage_02.gif);background-repeat:repeat-x;">
<!--寬度可變內容框-->
<tr>
<tdwidth="33"height="27"style="background:url(jsp/commonstyle/images/usermessage_01.gif);background-position:left;background-repeat:no-repeat;"></td>
<tdwidth="965"class="style1"><fontcolor="black">駕校合格率排名</font></td>
<tdwidth="14"height="27"style="background:url(jsp/commonstyle/images/usermessage_03.gif);background-position:right;background-repeat:no-repeat;"></td>
</tr>
<tr>
<tdcolspan="3">
<!--頁面主體內容開始-->
<!--查詢條件-->
<formaction=""name="formName"method="post"style="margin:0px"id="formName"theme="simple">
<tablewidth="100%"border="0"cellpadding="0"cellspacing="0"style="border-collapse:collapse;"id="tj"align="center">
<tralign="left">
<tdclass="tjbg1"style="text-align:left">
<!--<inputtype="hidden"id="method"name="method"value="getHglpm"/>-->
統計日期:
<inputtype="text"name="tjjxkshgl.jzrq"id="jzrqId"value="<s:propertyvalue="tjjxkshgl.jzrq"/>"onclick="WdatePicker({skin:'whyGreen',dateFmt:'yyyy-MM'})"/>
<!--駕校名稱:
<s:selectid="jxmcId"name="tjjxkshgl.jxxh"value="tjjxkshgl.jxxh"list="schoolList"listKey="jxxh"listValue="jxmc"headerKey=""headerValue="--請選擇--"theme="simple"></s:select>-->
<inputname="input"value="統計"type="button"class="normalbtn"onClick="serch()"style="margin-bottom:5px"/>
<inputname="input"type="button"value="合格率圖表"onclick="tbbt()"class="normalbtn"style="margin-bottom:5px"/>
<inputid="Button1"type="button"value="導出"onclick="openwd();"class="normalbtn"style="margin-bottom:5px"/>
</td>
</tr>
</table><!--查詢結果-->
</form>
<!--查詢結果-->
<tablewidth="100%"border="0"cellpadding="4"cellspacing="1"bgcolor="#abcfff"id="cxjg"align="center">
<thead>
<trclass="tbtitle">
<tdwidth="4%"align="center"class="t1">名次</td>
<tdwidth="8%"align="center"class="t1">名稱</td>
<tdclass="t1"width="5%"align="center">科目一</td>
<tdclass="t1"width="5%"align="center">科目二</td>
<tdclass="t1"width="5%"align="center">科目三</td>
<tdclass="t1"width="5%"align="center">平均合格率</td>
<tdclass="t1"width="5%"align="center">操作</td>
</tr>
</thead>
<s:iteratorid="jxhgl"value="jxhelpmList"status="st">
<trclass="changeColor"onMouseOver="overIt()"onMouseOut="outIt()"style="cursor:hand"align="center">
<td><s:propertyvalue="#st.index+1"/></td>
<td><s:propertyvalue="#jxhgl.jxmc"/></td>
<td><s:propertyvalue="#jxhgl.km1hgl"/></td>
<td><s:propertyvalue="#jxhgl.km2hgl"/></td>
<td><s:propertyvalue="#jxhgl.km3hgl"/></td>
<td><s:propertyvalue="#jxhgl.avghgl"/>%</td>
<td>
<ahref="javascript:"onclick="openWin('<%=basePath%>hgltj.action?method=getTbForJxxh&tjjxkshgl.jxxh=<s:propertyvalue="#jxhgl.jxxh"/>&tjjxkshgl.zt=1','',1250,750);">圖表</a>
</td>
</tr>
</s:iterator>
</table>
</table>
</td>
</tr>
</table>
</body>
</html>
2)java代碼演示:
[java]view plainprint?
/**
*駕校合格率導出excel圖表
*/
//response.getOutputStream();//取得輸出流
response.reset();//清空輸出流
Stringtmptitle="駕校合格率排名";//標題
response.setHeader("Content-disposition","attachment;filename="+newString(tmptitle.getBytes(),"iso8859-1")+".xls");//設定輸出文件頭
response.setContentType("application/vnd.ms-excel");//定義輸出類型
wbook=Workbook.createWorkbook(os);//建立excel文件
WritableSheetwsheet=wbook.createSheet(tmptitle,0);//sheet名稱
//設置excel標題
//cellFormat.setBackground(Colour.AQUA);
cellFormat.setFont(wfont);
label.setCellFormat(cellFormat);
wsheet.addCell(label);
//wsheet.addCell(newLabel(0,0,tmptitle,wcfFC));
wsheet.setRowView(0,500);//第一行高度
wsheet.mergeCells(0,0,6,1);//合並單元格(第一列的第一行和第七列的第二行合並)
//wsheet.mergeCells(0,1,9,1);
//wsheet.mergeCells(0,2,0,4);
//wsheet.mergeCells(1,2,3,2);
//wsheet.mergeCells(4,2,6,2);
//wsheet.mergeCells(7,2,9,2);
wsheet.setColumnView(0,10);//寬度
wsheet.setColumnView(1,25);//寬度
wsheet.setColumnView(2,10);//寬度
wsheet.setColumnView(3,10);//寬度
wsheet.setColumnView(4,10);//寬度
wsheet.setColumnView(5,10);//寬度
//開始生成主體內容
wfont=newjxl.write.WritableFont(WritableFont.ARIAL,14,WritableFont.BOLD,false,UnderlineStyle.NO_UNDERLINE,Colour.BLACK);
wcfFC=newWritableCellFormat(wfont);
wsheet.addCell(newLabel(0,2,"名次",wcfFC));
wsheet.addCell(newLabel(1,2,"駕校名稱",wcfFC));
wsheet.addCell(newLabel(2,2,"科目一",wcfFC));
wsheet.addCell(newLabel(3,2,"科目二",wcfFC));
wsheet.addCell(newLabel(4,2,"科目三",wcfFC));
wsheet.addCell(newLabel(5,2,"合格率",wcfFC));
intcount=jxhelpmList.size();
if(count>0){////判斷集合是否不為0
TjJxkshgltjhgl=null;
for(inti=0;i<jxhelpmList.size();i++){
tjhgl=(TjJxkshgl)jxhelpmList.get(i);
wsheet.addCell(newLabel(0,i+3,(i+1)+""));
wsheet.addCell(newLabel(1,i+3,tjhgl.getJxmc()));
wsheet.addCell(newLabel(2,i+3,tjhgl.getKm1hgl()));
wsheet.addCell(newLabel(3,i+3,tjhgl.getKm2hgl()));
wsheet.addCell(newLabel(4,i+3,tjhgl.getKm3hgl()));
wsheet.addCell(newLabel(5,i+3,tjhgl.getAvghgl()));
}
⑺ java實現圖片預覽功能,可以顯示縮列圖,具有上下頁的功能求技術支持
把圖片按照規定的比例壓縮,然後保存至FTP,列表讀取縮略圖,單擊顯示原圖。
/**
*壓縮圖片方法一(高質量)
*@paramoldFile將要壓縮的圖片
*@paramwidth壓縮寬
*@paramheight壓縮高
*@paramsmallIcon壓縮圖片後,添加的擴展名(在圖片後綴名前添加)
*@paramquality壓縮質量范圍:<i>0.0-1.0</i>高質量:<i>0.75</i>中等質量:<i>0.5</i>低質量:<i>0.25</i>
*@parampercentage是否等比壓縮若true寬高比率將將自動調整
*/
publicstaticvoidcompressImage(StringoldFile,intwidth,intheight,StringsmallIcon,
floatquality,booleanpercentage){
try{
Filefile=newFile(oldFile);
//驗證文件是否存在
if(!file.exists())
thrownewFileNotFoundException("找不到原圖片!");
//獲取圖片信息
BufferedImageimage=ImageIO.read(file);
intorginalWidth=image.getWidth();
intorginalHeight=image.getHeight();
//驗證壓縮圖片信息
if(width<=0||height<=0||!Pattern.matches("^[1-9]\d*$",String.valueOf(width))
||!Pattern.matches("^[1-9]\d*$",String.valueOf(height)))
thrownewException("圖片壓縮後的高寬有誤!");
//等比壓縮
if(percentage){
doublerate1=((double)orginalWidth)/(double)width+0.1;
doublerate2=((double)orginalHeight)/(double)height+0.1;
doublerate=rate1>rate2?rate1:rate2;
width=(int)(((double)orginalWidth)/rate);
height=(int)(((double)orginalHeight)/rate);
}
//壓縮後的文件名
StringfilePrex=oldFile.substring(0,oldFile.lastIndexOf('.'));
StringnewImage=filePrex+smallIcon+oldFile.substring(filePrex.length());
//壓縮文件存放位置
FilesavedFile=newFile(newImage);
//創建一個新的文件
savedFile.createNewFile();
//創建原圖像的縮放版本
Imageimage2=image.getScaledInstance(width,height,Image.SCALE_AREA_AVERAGING);
//創建數據緩沖區圖像
BufferedImagebufImage=newBufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
//創建一個Graphics2D
Graphics2Dg2=bufImage.createGraphics();
//重繪圖像
g2.drawImage(image2,0,0,width,height,null);
g2.dispose();
//過濾像素矩陣
float[]kernelData={
-0.125f,-0.125f,-0.125f,
-0.125f,2,-0.125f,-0.125f,
-0.125f,-0.125f};
Kernelkernel=newKernel(3,3,kernelData);
//按核數學源圖像邊緣的像素復制為目標中相應的像素輸出像素
ConvolveOpcOp=newConvolveOp(kernel,ConvolveOp.EDGE_NO_OP,null);
//轉換像素
bufImage=cOp.filter(bufImage,null);
FileOutputStreamout=newFileOutputStream(savedFile);
JPEGImageEncoderencoder=JPEGCodec.createJPEGEncoder(out);
JPEGEncodeParamparam=encoder.getDefaultJPEGEncodeParam(bufImage);
//設置壓縮質量
param.setQuality(quality,true);
encoder.encode(bufImage,param);
out.close();
System.out.println(newImage);
}catch(Exceptione){
e.printStackTrace();
System.out.println("壓縮失敗!"+e.getMessage());
}
}
⑻ javaWeb如何實現想QQ空間圖片預覽的效果以及圖片批量上傳最好有實例
1:點擊自定義。
2:點擊右側的新建模塊→點擊圖片模塊。
3:模塊名稱隨便,用一個空格最好,圖片地址上輸入圖片的地址,再點擊「更多設置」,只設置圖片的寬高度(以圖片的大小而定)就可以了,背景、邊框選擇無,確定保存。
4:用滑鼠調整一下圖片的大小,讓整個圖片完全顯示。
5:接著點擊模塊管理→把「互動」以上的模塊前面的√全部去掉,然後再把需要顯示的模塊打√,這樣「日誌」、「留言」、「個人形象」或「音樂收藏」就顯示在大圖模塊的上面了。確定保存。OK。
⑼ Java獲取本地圖片,怎麼在瀏覽器實現預覽,注意是多張圖片,通過io流的方式,,,具體實現求大神指教。
windows有自帶視頻播放 音頻 播放 圖片查看的、是一個空間、你上網路搜搜看、我忘了、很久沒弄了、很簡單的 傳一個路勁就ok、路勁你就使用<input type="file" >獲取
⑽ java拼圖小游戲怎麼把預覽圖片放進去
寫過一個類似的
可以使用JLabel里放入html代碼來縮放圖片 ,(不推薦, swing對html支持不夠完美)
可以通過縮放圖片來得到縮略圖,來使用.但是比較浪費內存和cpu資源
推薦 節省系統資源的方法,兩張圖片,一張小圖當預覽圖(用JLabel顯示出來),一張大圖.
為了讓玩家更好的觀察圖片,可以在開始之前,完整顯示圖片. 當點擊開始後才打亂順序