<table>
<tr>
<td nowrap><b>Dosyayı Seçiniz:</b></td>
<td><input type="file" id="dosya" name="dosya" runat="server" class="alan"></td></tr>
<tr>
<td height="45″ colspan="2″></td></tr>
<tr>
<td colspan="2″ align="center">
<asp:button runat="server" id="UploadButonu" Text="SUNUCUYA YÜKLE" onClick="DosyaUpload" CssClass="buton" /></td>
</tr>
</table>

 

ile resimdeki sayfa görüntüsünü elde ediyoruz. Daha sonra kod tarafına geçiyoruz.

Protected Sub DosyaUpload(ByVal sender As Object, ByVal e As System.EventArgs) Handles UploadButonu.Click
If Not (dosya.PostedFile Is Nothing) Then
Dim DosyaAdi As String = dosya.PostedFile.FileName.Substring(dosya.PostedFile.FileName.LastIndexOf("\") + 1)
Dim DosyaTipi As String = dosya.PostedFile.ContentType
Dim DosyaBoyutu As Integer = dosya.PostedFile.ContentLengthDim suzanti As String = Right(DosyaAdi, 4)
Dim uzanti As String
If suzanti <> "" Then
uzanti = suzanti
Else : uzanti = ".jpg"
End If
Dim r As String = Request.QueryString("r")
If DosyaTipi = "image/pjpeg" Or DosyaTipi = "image/bmp" Or DosyaTipi = "image/x-png" Or DosyaTipi = "image/gif" Then
'yükle
If DosyaBoyutu <= 0 Then
Response.Write("Hatalı dosya, upload yapılamadı: " + DosyaAdi)
Else
'önce resmi sunucuya yüklüyoruz
dosya.PostedFile.SaveAs(Server.MapPath("..\urunresim\" + r + uzanti))
Try
Dim alp As System.Drawing.Image = System.Drawing.Image.FromStream(dosya.PostedFile.InputStream)
Dim w As Integer = alp.Width
'yüklediğimiz resmin genişliğini alıyoruz
Dim h As Integer = alp.Height 
'yüklenen resmin yüksekliğini alıyoruz
Dim YeniGenislikB As Integer = 0
Dim YeniYukseklikB As Integer = 0
Dim YeniGenislikK As Integer = 0
Dim YeniYukseklikK As Integer = 0
'Sunucuya yüklediğimiz resimden bir büyük birde küçük resim oluşturacağız. Ben büyük resim için maksimum yükseklik veya genişlik 400, küçük resim içinde 75 piksek olsun istedim siz bunu kendinize göre uyarlarsınız. Buradaki algoritmamız şu genişlik ve yüksekliği kıyaslayıp orantılı değerler buluyoruz ki buda oluşan resimlerin orantılı olarak küçülmesi için. Yoksa resimler biçimsiz olabilir.

If w > h Then
'genişlik büyük
YeniGenislikB = 400
YeniYukseklikB = (400 * alp.Height) / alp.Width
YeniGenislikK = 75
YeniYukseklikK = (75 * alp.Height) / alp.Width
Else
YeniGenislikB = (400 * alp.Width) / alp.HeightYeniYukseklikB = 400
YeniGenislikK = (75 * alp.Width) / alp.HeightYeniYukseklikK = 75
End If
'aldığımız değerlere göre büyük resmi farklı kaydediyoruz
Dim alpBuyukResim As System.Drawing.Image = alp.GetThumbnailImage(YeniGenislikB, YeniYukseklikB, Nothing, IntPtr.Zero) 
alpBuyukResim.Save(Server.MapPath("..\urunresim\buyuk\" + r + uzanti))
'küçük resmi kaydediyoruz
Dim alpKucukResim As System.Drawing.Image = alp.GetThumbnailImage(YeniGenislikK, YeniYukseklikK, Nothing, IntPtr.Zero)
alpKucukResim.Save(Server.MapPath("..\urunresim\kucuk\" + r + uzanti))
'resimleri kaydettikten sonra veritabanına kayıt yada yapmak istediğiniz başka bir şey varsa yapabilirsiniz
'istediğimiz resimleri oluşturduğumuza göre ilk yüklediğimiz orjinal resime artık gerek kalmadı, onu uçurmakta vayda var
'siliyoruz
System.IO.File.Delete(Server.MapPath("..\urunresim\" + r + uzanti))
Catch ex As Exception
Response.Write(ex.Message)
End Try
End If
Else
Response.Write("sadece resim dosyası yükleyebilirsiniz")
End If
End If
End Sub 

Çok fazla karmaşaya girmeden basit bir şekilde resim upload ve resim thumnail oluşturmayı göstermeye çalıştım. Bu işlemleri yaptığınız klasörde yazma izni olması gerekmektedir. Anlayamadığınız yerleri sorabilirsiniz?

08.08.2007 17:15:00 1.492 Okunma Yorum Yazılmamış Devam
public class MonitorAcKapat
{
const int HWND_BROADCAST = 65535;
const int SC_MONITORPOWER = 61808;
const short WM_SYSCOMMAND = 274;
public void Main()
{
string instr = Interaction.Command();
switch (Interaction.Command().ToLower)
{
case "off":
TurnOff();
break;
case "on":
TurnOn();
break;
case "test":
TurnOff();
//turn off monitor
System.Threading.Thread.Sleep(10000);
//10 saniye bekle
TurnOn();
break;
//turn on monitor
default:
Interaction.MsgBox("Kullanım, [on]/[off]/[test] ", MsgBoxStyle.Information, "Devre Komutu Gerekiyor");
break;
}
}
private Int32 SendMessage(Int32 Handle, Int32 wMsg, Int32 wParam, Int32 lParam)
{
}
public void StandBy()
{
SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, 1);
}
public void TurnOff()
{
SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, 2);
}
public void TurnOn()
{
SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, -1);
}
}
08.08.2007 17:11:00 103 Okunma Yorum Yazılmamış Devam
Public Class MonitorAcKapat
Const HWND_BROADCAST As Integer = &HFFFF
Const SC_MONITORPOWER As Integer = &HF170
Const WM_SYSCOMMAND As Short = &H112S
Sub Main()
Dim instr As String = Command()
Select Case Command().ToLower
Case "off"
TurnOff()
Case "on"
TurnOn()
Case "test"
TurnOff()
'turn off monitor
System.Threading.Thread.Sleep(10000)
'10 saniye bekle
TurnOn()
'turn on monitor
Case Else
MsgBox("Kullanm, [on]/[off]/[test] ", _
MsgBoxStyle.Information, _
"Devre Komutu Gerekiyor")
End Select
End Sub
Private Function SendMessage(ByVal Handle As Int32, _
ByVal wMsg As Int32, ByVal wParam As Int32, _
ByVal lParam As Int32) As Int32
End Function
Sub StandBy()
SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, 1)
End Sub
Sub TurnOff()
SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, 2)
End Sub
Sub TurnOn()
SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, -1)
End Sub
End Class
08.08.2007 16:58:00 460 Okunma Yorum Yazılmamış Devam
© 2009 Alptekin Bodur