mIRC Script için çok harika bir kod. Bu kod ne işe yarıyor. Kanala gönderdiginiz resim linkleri veya baska bir kişinin size gönderdigi resmi tek link üzerine tıklarayak resme önizleme yapabilirsiniz. REsim Boyutlarini ayarlayabilirsiniz. Çok müthiş bir kod. Kodu remotelere ekleyiniz. ( ALT+R )
Kullanımı : Kanala Bir resim linki yazınız. Sonra bu link üzerine gelin ve bir kez tıklayin resim ön izlemesi açılıcaktir. Önizleme bir kaç saniye sonra kaybolucaktir.
Resmin tam URL adresini yaziyorsunuz.
Şu sekilde : -http://www.turkhacks.com/vazgecaBso.gif--
Kullanımı : Kanala Bir resim linki yazınız. Sonra bu link üzerine gelin ve bir kez tıklayin resim ön izlemesi açılıcaktir. Önizleme bir kaç saniye sonra kaybolucaktir.
Resmin tam URL adresini yaziyorsunuz.
Şu sekilde : -http://www.turkhacks.com/vazgecaBso.gif--
Kod:
on ^*:hotlink:*:*:{
if ($regex($1,/^(http:\x2F\x2F)?(?(1)(?:www\.)?|www\.).+?\x2F(?:.+\x2F)?.+\.(?:jp(?:e)?g|gif|png|bmp)$/i) && %imgready == $true) {
set %img.x $mouse.mx
set %img.y $mouse.my
if ((%imgclick == $true && $mouse.key & 1) || %imgclick == $false) {
if (%imgpre && $exists(imgcache\ $+ $gettok($regsubex($1,/^(?:.+?\w)\x2F/,),-1,47))) {
if ($window(@ImagePreview)) window -c @ImagePreview
var %imgfile = imgcache\ $+ $gettok($regsubex($1,/^(?:.+?\w)\x2F/,),-1,47)
var %w = $pic(%imgfile).width, %h = $pic(%imgfile).height
if (%imgaspect && !%imgprct) {
if (%w > %h) var %w = $round($calc(%w * (%imgsize / %h)),0), %h = %imgsize
else var %h = $round($calc(%h * (%imgsize / %w)),0), %w = %imgsize
}
elseif (%imgaspect && %imgprct) {
var %w = $round($calc(%w * %imgprct),0)
var %h = $round($calc(%h * %imgprct),0)
}
window -pdBk0w0o +b @ImagePreview %img.x %img.y $iif(%imgaspect,%w %h,%imgsize %imgsize)
if (%imgfade) .timertrans -m 64 1 setlayer $!calc(255 - $!timer(trans).reps * 4) @ImgÖnIzlemesi
.drawpic -s @ImgÖnIzlemesi 0 0 $iif(%imgaspect,%w %h,%imgsize %imgsize) %imgfile
.timerclosepreview 1 %imgfadeout fimgClose
}
else {
set %imgloc $1
set %imgready $false
fetchimg $remove($regsubex(%imgloc,/(\w\x2F).++/,\1),http:,/)
}
}
return
}
halt
}
alias -l fetchimg {
if (!$sock(fimg)) {
.sockopen fimg $1 80
if ($window(@ImgÖnIzlemesi)) window -c @ImgÖnIzlemesi
if (!$isid) {
window -pdBk0w0o +b @ImgÖnIzlemesi %img.x %img.y %imgsize %imgsize
var %t = Yükleniyor...
drawtext -or @ImgÖnIzlemesi 0 Tahoma 9 $calc(%imgsize / 2 - $width(%t,Tahoma,9,1) / 2) $calc(%imgsize / 2 - $height(%t,Tahoma,9)) %t
if (%imgfade) .timertrans -m 64 1 setlayer $!calc(255 - $!timer(trans).reps * 4) @ImgÖnIzlemesi
}
}
}
on *:sockopen:fimg:{
if (!$sockerr) {
var %x = $regsubex(%imgloc,/^(?:.+?\w)\x2F/,), %a sockwrite -n $sockname
set %img.file $gettok(%x,-1,47)
write -c %img.file
if (!%img.chunk) %a GET / $+ %x HTTP/1.1
else %a GET / $+ %x HTTP/1.0
%a Host: $remove($regsubex(%imgloc,/(\w\x2F).++/,\1),http:,/)
%a Accept: */*
%a Connection: Close-connection
%a
}
else {
echo $color(info) -ae ImagePreview: Error while fetching image.
unset %img.*
unset %imgloc
set %imgready $true
window -c @ImgÖnIzlemesi
.timertrans off
}
}
on *:sockread:fimg:{
if (!%img.header) {
var %length
sockread %length
while ($sockbr) {
if (*404*Not Found iswm %length || error isin %length) {
window -c @ImgÖnIzlemesi
sockclose $sockname
.remove %img.file
.timertrans off
echo $color(info) -ae ImagePreview: Could not find image %imgloc (server returned 404).
.unset %img.*
.unset %imgloc
drawpic -c
set %imgready $true
break
}
elseif (*Transfer-Encoding: chunked* iswm %length && !%img.chunk) {
sockclose $sockname
.remove %img.file
.timertrans off
drawpic -c
set %img.chunk $true
fetchimg $remove($regsubex(%imgloc,/(\w\x2F).++/,\1),http:,/)
break
}
elseif (!%length) {
set %img.header $true
break
}
sockread %length
}
}
else {
sockread 8192 &image
while ($sockbr) {
bwrite %img.file -1 -1 &image
if (!%img.pre) {
if ($istok(.jpg jpeg .bmp,$right(%img.file,4),32) == $true && $pic(%img.file).size != 0) .drawpic -s @ImgÖnIzlemesi 0 0 %imgsize %imgsize %img.file
else {
inc %img.dots
clear @ImgÖnIzlemesi
var %t = $+(Yükleniyor,$str(.,$calc(%img.dots % 3 + 1)))
drawtext -or @ImgÖnIzlemesi 0 Tahoma 9 $calc(%imgsize / 2 - $width(%t,Tahoma,9,1) / 2) $calc(%imgsize / 2 - $height(%t,Tahoma,9)) %t
}
}
sockread 8192 &image
}
}
}
on *:sockclose:fimg:{
if ($exists(%img.file)) {
if ($pic(%img.file).width && $pic(%img.file).height && %imgaspect && !%img.pre) {
var %w = $pic(%img.file).width, %h = $pic(%img.file).height
if (!%imgprct) {
if (%w > %h) fimgResize %img.file $round($calc(%w * (%imgsize / %h)),0) %imgsize
else fimgResize %img.file %imgsize $round($calc(%h * (%imgsize / %w)),0)
}
else fimgResize %img.file $round($calc(%w * %imgprct),0) $round($calc(%h * %imgprct),0)
}
elseif (!%img.pre && $window(@ImgÖnIzlemesi)) { .drawpic -s @ImgÖnIzlemesi 0 0 %imgsize %imgsize %img.file }
if (%imgpre) .copy -o %img.file imgcache\ $+ %img.file
.remove %img.file
.unset %img.*
.timertrans off
}
else echo $color(info) -ae ImagePreview: Error while fetching image.
.timerclosepreview 1 %imgfadeout fimgClose
drawpic -c
set %imgready $true
}
alias -l fimgResize {
if ($timer(trans)) { .timerreResize -m 1 100 fimgResize $1 $2 $3 }
else {
var %i = 1, %j = 1
if ($timer(closepreview)) .timerclosepreview off
if (%imgprct) {
while ($window(@ImgÖnIzlemesi).h != $3 || $window(@ImgÖnIzlemesi).w != $2) {
window -pdBk0w0o +b @ImgÖnIzlemesi %img.x %img.y $calc(%imgsize + %i) $calc(%imgsize + %j)
.drawpic -s @ImgÖnIzlemesi 0 0 $calc(%imgsize + %i) $calc(%imgsize + %j) $1
if ($window(@ImgÖnIzlemesi).h < $3) inc %j
elseif ($window(@ImgÖnIzlemesi).h > $3) dec %j
if ($window(@ImgÖnIzlemesi).w < $2) inc %i
elseif ($window(@ImgÖnIzlemesi).w > $2) dec %i
}
}
else {
if ($2 == %imgsize) {
while ($window(@ImgÖnIzlemesi).h <= $3) {
window -pdBk0w0o +b @ImgÖnIzlemesi %img.x %img.y %imgsize $calc(%imgsize + %i)
.drawpic -s @ImgÖnIzlemesi 0 0 %imgsize $calc(%imgsize + %i) $1
inc %i
}
}
else {
while ($window(@ImgÖnIzlemesi).w <= $2) {
window -pdBk0w0o +b @ImgÖnIzlemesi %img.x %img.y $calc(%imgsize + %i) %imgsize
.drawpic -s @ImgÖnIzlemesi 0 0 $calc(%imgsize + %i) %imgsize $1
inc %i
}
}
}
.timerclosepreview 1 %imgfadeout fimgClose
}
}
alias -l fimgClose {
if (%imgfade) .timertransclose -m 64 1 setlayer $!calc($timer(transclose).reps * 4) @ImgÖnIzlemesi $(|) $!iif($timer(transclose).reps < 1,imgclosepre)
else imgclosepre
}
on *:close:@ImgÖnIzlemesi:imgclosepre
alias -l imgclosepre {
if ($window(@ImgÖnIzlemesi)) window -c @ImgÖnIzlemesi
if ($exists(%img.file) == $true) {
if (%imgpre && %imgready == $true) .copy -o %img.file imgcache\ $+ %img.file
.remove %img.file
}
.timertrans off
.timerclosepreview off
.unset %img.*
.unset %imgloc
drawpic -c
sockclose fimg
set %imgready $true
}
menu @ImgÖnIzlemesi {
sclick:set %img.move $mouse.x $mouse.y | .timerclosepreview off
leave:unset %img.move | .timerclosepreview 1 %imgfadeout fimgClose
uclick:unset %img.move | .timerclosepreview 1 %imgfadeout fimgClose
mouse:{
if (%img.move && $mouse.key & 1) {
set %img.x $calc($mouse.dx - $gettok(%img.move,1,32))
set %img.y $calc($mouse.dy - $gettok(%img.move,2,32))
.window @ImgÖnIzlemesi %img.x %img.y $window(@ImgÖnIzlemesi).w $window(@ImgÖnIzlemesi).h
}
}
dclick:imgclosepre
rclick:{
run %imgloc
imgclosepre
;Open in browser:run %imgloc
;Close:imgclosepre
}
}
menu status,channel,query {
Resim önizlemesi
.Aç $iif(%imgready,Off,On):set %imgready $iif(%imgready,$false,$true)
. $iif(!%imgready,$style(2),$iif(%imgfade,$style(1))) Fade in\out:set %imgfade $iif(%imgfade,$false,$true)
. $iif(!%imgready,$style(2),$iif(%imgpre,$style(1))) Önceden Fotograf:{
set %imgpre $iif(%imgpre,$false,$true)
if ($exists(imgcache\) == $false) .mkdir imgcache
}
. $iif(!%imgready || !%imgpre || !$findfile(imgcache\,*.*,0),$style(2)) Temizle Önbellek:{
var %i 1
while ($findfile(imgcache\,*.*,%i)) {
.remove $ifmatch
inc %i
}
echo $color(info) -ae * Resim Önizlemesi: Önbellek Temizle.
}
. $iif(!%imgready,$style(2),$iif(%imgclick,$style(1))) Önizleme için Tıklayın:set %imgclick $iif(%imgclick,$false,$true)
. $iif(!%imgready,$style(2),$iif(%imgactive,$style(1))) Yakın Netlik Kaybı:set %imgactive $iif(%imgactive,$false,$true)
. $iif(!%imgready,$style(2)) Resim Boyu Ayari...:if ($$?="Resmin Görünücek Piksel Boyutu" isnum) set %imgsize $v1
. $iif(!%imgready,$style(2)) $iif(%imgfade,Fadeout,Auto-close) Zaman...:if ($$?=" $+ $+(Enter fadeout start time (in seconds),$chr(58),$crlf,$chr(40),-1 for infinity,$chr(41)) $+ " isnum) set %imgfadeout $iif($v1 == -1,31536000,$v1)
. $iif(!%imgready,$style(2)) $iif(%imgaspect,$style(1)) Maintain aspect ratio:set %imgaspect $iif(%imgaspect,$false,$true)
. $iif(!%imgready || !%imgaspect,$style(2)) Rescale by percentage $+ $iif(%imgprct,$chr(32) $+ $chr(40) $+ $calc(%imgprct * 100) $+ $chr(37) $+ $chr(41),...):if ($$?="Bir Pencere Girin (0-100%): $+ $crlf $+ No need for the % symbol." isnum 0-100) set %imgprct $calc($v1 / 100)
.Ayarlari Sıfırla:{
unset %img*
set %imgready $true
set %imgfade $true
set %imgpre $false
set %imgclick $true
set %imgsize 128
set %imgfadeout 3
set %imgactive $false
set %imgaspect $true
}
}
on *:text:*:*:{
if (%imgpre && $regex($1-,/^((http:\x2F\x2F)?(?(2)(?:www\.)?|www\.).+?\x2F(?:.+\x2F)?.+\.(?:jp(?:e)?g|gif|png|bmp))$/i)) {
set %imgloc $regml(1)
set %imgready $false
set %img.x $mouse.mx
set %img.y $mouse.my
set %img.pre $true
$fetchimg($remove($regsubex(%imgloc,/(\w\x2F).++/,\1),http:,/))
}
}
on *:load:{
.mkdir imgcache
set %imgready $true
set %imgfade $true
set %imgpre $false
set %imgclick $true
set %imgsize 128
set %imgfadeout 3
set %imgactive $false
echo $color(info) -ae * ImagePreview: Fully loaded. Enjoy. (By HydroIT, aka ^Vampire^, aka [FtUC]Hydro)
}
on *:unload:{
echo $color(info2) -ae * ImagePreview: So long!
.window -c @ImgÖnIzlemesi
unset %img*
var %i 1
while ($findfile(imgcache\,*.*,%i)) {
.remove $ifmatch
inc %i
}
.rmdir imgcache
}
on *:active:*:{
if ($lactive == @ImgÖnIzlemesi && !$timer(trans) && $active != $null && $appactive == $true && %imgactive == $true) {
fimgClose
sockclose fimg
if ($exists(%img.file) == $true) {
if (%imgpre && %imgready == $true) .copy -o %img.file imgcache\ $+ %img.file
.remove %img.file
}
.timertrans off
.timerclosepreview off
.unset %img.*
.unset %imgloc
drawpic -c
set %imgready $true
}
}
