『壹』 圖片放入mysql資料庫是不是大小就變小了
不會吧 圖片放進資料庫,資料庫會以二進制的方式存儲它
『貳』 ASP網頁讀取資料庫圖片自適應大小
哦,是要這個效果啊,那就這樣寫:
<img src="<%=rstData("Image")%>" alt="mellowparks.cn" onload="if(this.width>719)this.width=719;" id=dnn_ctr567_ViewGallery__dl_ctl00_ctl00__iImage border="0">
==================================================
去掉width和height屬性就可以了吧:
<img src="<%=rstData("Image")%>" alt="mellowparks.cn" id=dnn_ctr567_ViewGallery__dl_ctl00_ctl00__iImage border="0">
『叄』 怎樣把資料庫里的圖片顯示到網頁中,還要指定圖片的大小
類文件pic_class.asp
<%
Class ImgWHInfo '獲取圖片寬度和高度的類,支持JPG,GIF,PNG,BMP
Dim ASO
Private Sub Class_Initialize
Set ASO=Server.CreateObject("ADODB.Stream")
ASO.Mode=3
ASO.Type=1
ASO.Open
End Sub
Private Sub Class_Terminate
Err.Clear
Set ASO=Nothing
End Sub
Private Function Bin2Str(Bin)
Dim I, Str
For I=1 To LenB(Bin)
clow=MidB(Bin,I,1)
If ASCB(clow)<128 Then
Str = Str & Chr(ASCB(clow))
Else
I=I+1
If I <= LenB(Bin) Then Str = Str & Chr(ASCW(MidB(Bin,I,1)&clow))
End If
Next
Bin2Str = Str
End Function
Private Function Num2Str(Num,Base,Lens)
Dim Ret
Ret = ""
While(Num>=Base)
Ret = (Num Mod Base) & Ret
Num = (Num - Num Mod Base)/Base
Wend
Num2Str = Right(String(Lens,"0") & Num & Ret,Lens)
End Function
Private Function Str2Num(Str,Base)
Dim Ret,I
Ret = 0
For I=1 To Len(Str)
Ret = Ret *base + Cint(Mid(Str,I,1))
Next
Str2Num=Ret
End Function
Private Function BinVal(Bin)
Dim Ret,I
Ret = 0
For I = LenB(Bin) To 1 Step -1
Ret = Ret *256 + AscB(MidB(Bin,I,1))
Next
BinVal=Ret
End Function
Private Function BinVal2(Bin)
Dim Ret,I
Ret = 0
For I = 1 To LenB(Bin)
Ret = Ret *256 + AscB(MidB(Bin,I,1))
Next
BinVal2=Ret
End Function
Private Function GetImageSize(filespec)
Dim bFlag
Dim Ret(3)
ASO.LoadFromFile(filespec)
bFlag=ASO.Read(3)
Select Case Hex(binVal(bFlag))
Case "4E5089":
ASO.Read(15)
ret(0)="PNG"
ret(1)=BinVal2(ASO.Read(2))
ASO.Read(2)
ret(2)=BinVal2(ASO.Read(2))
Case "464947":
ASO.read(3)
ret(0)="gif"
ret(1)=BinVal(ASO.Read(2))
ret(2)=BinVal(ASO.Read(2))
Case "535746":
ASO.read(5)
binData=ASO.Read(1)
sConv=Num2Str(ascb(binData),2 ,8)
nBits=Str2Num(left(sConv,5),2)
sConv=mid(sConv,6)
While(len(sConv)<nBits*4)
binData=ASO.Read(1)
sConv=sConv&Num2Str(AscB(binData),2 ,8)
Wend
ret(0)="SWF"
ret(1)=Int(Abs(Str2Num(Mid(sConv,1*nBits+1,nBits),2)-Str2Num(Mid(sConv,0*nBits+1,nBits),2))/20)
ret(2)=Int(Abs(Str2Num(Mid(sConv,3*nBits+1,nBits),2)-Str2Num(Mid(sConv,2*nBits+1,nBits),2))/20)
Case "FFD8FF":
Do
Do: p1=binVal(ASO.Read(1)): Loop While p1=255 And Not ASO.EOS
If p1>191 And p1<196 Then Exit Do Else ASO.read(binval2(ASO.Read(2))-2)
Do:p1=binVal(ASO.Read(1)):Loop While p1<255 And Not ASO.EOS
Loop While True
ASO.Read(3)
ret(0)="JPG"
ret(2)=binval2(ASO.Read(2))
ret(1)=binval2(ASO.Read(2))
Case Else:
If left(Bin2Str(bFlag),2)="BM" Then
ASO.Read(15)
ret(0)="BMP"
ret(1)=binval(ASO.Read(4))
ret(2)=binval(ASO.Read(4))
Else
ret(0)=""
End If
End Select
ret(3)="width=""" & ret(1) &""" height=""" & ret(2) &""""
getimagesize=ret
End Function
Public Function imgW(IMGPath)
Dim FSO,IMGFile,FileExt,Arr
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
If (FSO.FileExists(IMGPath)) Then
Set IMGFile = FSO.GetFile(IMGPath)
FileExt=FSO.GetExtensionName(IMGPath)
Select Case FileExt
Case "gif","bmp","jpg","png":
Arr=GetImageSize(IMGFile.Path)
imgW = Arr(1)
End Select
Set IMGFile=Nothing
Else
imgW = 0
End If
Set FSO=Nothing
End Function
Public Function imgH(IMGPath)
Dim FSO,IMGFile,FileExt,Arr
Set FSO = server.CreateObject("Scripting.FileSystemObject")
If (FSO.FileExists(IMGPath)) Then
Set IMGFile = FSO.GetFile(IMGPath)
FileExt=FSO.GetExtensionName(IMGPath)
Select Case FileExt
Case "gif","bmp","jpg","png":
Arr=getImageSize(IMGFile.Path)
imgH = Arr(2)
End Select
Set IMGFile=Nothing
Else
imgH = 0
End If
Set FSO=Nothing
End Function
End Class
%>
/*************************
<示例 showImg.asp>
*************************/
<%
IMGPath=rs('img') '其中的rs('img')為資料庫存放圖片路徑
Set myImg = New ImgWHInfo '調用類ImgWHInfo
W = myImg.imgW(Server.Mappath(IMGPath))
H = myImg.imgH(Server.Mappath(IMGPath))
W1=W
H1=H
if W1>0 and H1>0 then
if W1>350 then
W=350
H=H1*350/W1
else
W=W1
H=H1
end if
end if
Set myImg = Nothing
%>
<img src="<%=rs('img')%>" width="<%=W%>" height="<%=H%>">
『肆』 資料庫取出圖片等比例縮放
看你取出的是什麼了,是二進制圖片還是圖片在伺服器上存放的地址,
後者可以用程序控制,PHP里有寫好的,ASP也有,看你用的什麼程序了,
用JS也可以完成
<script type="text/javascript">
<!--
/*
功能:圖片等比例縮放
目標:ImgTag
圖片寬度:FitWidth
圖片高度:FitHeight
*/
var FitWidth = 130;
var FitHeight = 110;
function ResizePic(ImgTag)
{
var image = new Image();
image.src = ImgTag.src;
if(image.width>0 && image.height>0){
if(image.width/image.height >= FitWidth/FitHeight){
if(image.width > FitWidth){
ImgTag.width = FitWidth;
ImgTag.height = (image.height*FitWidth)/image.width;
}
else{
ImgTag.width = image.width;
ImgTag.height = image.height;
}
}
else{
if(image.height > FitHeight){
ImgTag.height = FitHeight;
ImgTag.width = (image.width*FitHeight)/image.height;
}
else{
ImgTag.width = image.width;
ImgTag.height = image.height;
}
}
}
}
//-->
</script>
<img src="img/pic1.jpg" width="13px" height="10px" onload="javascript:ResizePic(this)" />
『伍』 (DELPHI)已經存入SQLSERVER中的圖片數據(image欄位)太大,怎麼直接在資料庫中壓縮或怎麼用程序實現
delphi 的圖像縮放示例代碼如下:
//將圖片縮放至指定大小
procereSizeBmp(constSource,Dest:string;constx,y:integer);
var
aBmp,bBmp:tbitmap;
scalex,scaley:real;
begin
aBmp:=TBitmap.Create;
bBmp:=TBitmap.Create;
try
aBmp.LoadFromFile(Source);
scaley:=aBmp.Height/y;
scalex:=aBmp.Width/x;
bBmp.Width:=round(aBmp.Width/scalex);
bBmp.Height:=round(aBmp.Height/scaley);
bBmp.PixelFormat:=pfDevice;
SetStretchBltMode(bBmp.Canvas.Handle,COLORONCOLOR);
StretchBlt(bBmp.Canvas.Handle,0,0,bBmp.Width,bBmp.Height,
aBmp.Canvas.Handle,0,0,aBmp.Width,aBmp.Height,src);
bBmp.SaveToFile(Dest);
finally
aBmp.Free;
bBmp.Free;
end;
end;
procereTForm1.btn1Click(Sender:TObject);
begin
SizeBmp('e:1112.bmp','e:1112_small.bmp',640,480);
end;
『陸』 acess資料庫里的圖片如何變成小圖片顯示
在asp下,在輸出顯示的時候可以用replace方法替換img標簽的的長寬屬性的值,再輸出就可以了,至於replace如何用,你網路一下就可以了,其它語言也類似的用功能一樣的函數。
受之於魚,不如受之於漁!
希望我的回答對你有所幫助,祝你好運!
『柒』 請問如何把資料庫中的圖片讀出生成縮略圖sql server+c#.net)
winform ? webform ?其實都差不多....不想麻煩的...還用Image綁定,只不過手動指定一個寬度就行了...
你在dataList裡面應該還是用的Image控制項吧。。。
直接輸入一個寬度讓他縮放就行了
<asp:image imageurl='<%# eval("url") %>' with="30" />
不用指定高度,圖像會自動縮放到合適的百分比
那你讓C#顯示的時候再重新按照源圖進行縮放,生成一個新圖片,這樣的成本會不會有點高了?
如果確實要做,你可以用Drawing類,先用
System.Drawing.Image.FromStream從資料庫中取出圖像,然後用Image.GetThumbnailImage 方法直接生成縮略圖就行了...
『捌』 thinkphp關於上傳圖片到資料庫裡面大小的問題
上傳圖片的時候,進行圖片縮放:
http://document.thinkphp.cn/manual_3_2.html#image
裡面寫的很詳細,很全
『玖』 怎麼把圖片縮小保存到資料庫
MySQL、Microsoft SQL Server、Oracle等都支持 Blob 類型的欄位,這種類型的欄位可以存儲圖片,欄位可以設置大小,所以你的圖片也不用壓縮。Blob 類型的欄位不僅僅可以存儲圖片,同樣可以存儲其它的文件,你試試就知道了,我以前用 MySql 存過圖片,存儲讀取都沒問題
『拾』 從資料庫中提取圖片顯示到jsp文件上時如何改變圖片大小
<img src="1601851119a.jpg" height="40px" width="100px"/>