Jump to content

Search the Community

Showing results for tags 'resize'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • TnC Genel
    • Reklam-Bağış-Sponsorluk
    • Duyurular
  • Modifiye Edilmiş İşletim Sistemleri
    • Windows 11
    • Windows 10
    • Windows 8
    • Windows 7
    • Windows Diğer
    • Windows Xp
    • Diğer İşletim Sistemleri
    • MultiBoot Sistemler
    • Linux Distributions
  • Bilgisayar Dünyası Genel
    • Her Zaman Gerekliler
    • Yazılım
    • Donanım
    • Sosyal Medya - Anında Mesajlaşma
    • Yararlı Linkler
  • TnC PROGRAM-APPZ
    • TNC-TR Çalışmaları
    • Program-Appz
    • Program-Appz - Ebook İstek
    • AIO
    • Portable Programlar
    • Türkçe Yamalar
    • Katılımsız - Unattended
  • Programlama
    • AutoIT
    • AutoPlay Media Studio
    • C#
  • Webmaster
    • Webmaster Sorunları & Çözüm Yolları
    • Hosting & Domain
  • TnC Multimedya
    • Multimedya Istek
    • Kendi Müziğiniz
  • TnC Oyun - Games
    • Oyun-Games
    • Oyun İstek
  • Cep Telefonu - Mobile
    • GSM Bilgi Paylaşımı
    • GSM Multimedya
    • iPhone / iPod
    • Android
    • Diğer GSM Program & Oyun
  • TnC Diğer
    • Teknoloji Haberleri
    • Alım-Satım
    • Kültür-Sanat
    • Sohbet-Chat
    • Çöp Kutusu
    • Anketler
  • Haberler Deneme
  • Olta Balıkçıları Kulübü's Herkes Ekipmanını Paylaşsın
  • Haritacılar's Konular
  • PUBG Oyuncuları's Konular
  • Satranç - Chess's Konular

Calendars

  • Community Calendar
  • Satranç - Chess's Takvim Etkinlikleri

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Facebook


Skype


Twitter


Google+


Steam



Found 1 result

  1. _ImageResize fonksiyonunu birçok kişi bilir. Fonksiyonu geliştirerek, belirtilen dosyayı belirtilen boyuta indirgemek için ek bir fonksiyon yazdım. Maximum dosya boyutu koşulu sunan servisler için kullanılması amaçlanarak yazılmıştır. Örneğin Windows logon ekranı için en fazla 245KB boyutunda bir grafik koyabilirsiniz. Bu gibi durumlarda bu fonksiyon işimize yaramaktadır. Fonksiyon belirttiğiniz resim dosyasını en*boy oranını koruyarak adım adım küçültür, ta ki istediğimiz boyuta gelene kadar.   Fonksiyon; Func _ResizeToSize($Input, $Output, $ToSize) $Temp = _TempFile(@TempDir & "\", "", ".jpg") FileCopy($Input, $Temp, 9) $Size = FileGetSize($Temp) $Boyutlar = _GetWHI($File) While $Size >= $ToSize _ImageResize($Input, $Temp, Floor($Boyutlar[0] / 1.05), Floor($Boyutlar[1] / 1.05)) $Boyutlar = _GetWHI($Temp) $Size = FileGetSize($Temp) WEnd FileMove($Temp, $Output, 9) EndFunc ;==>_ResizeToSize Parametreler; $Input = İşlenecek dosyanın tam yolu (Örn : C:\deneme.jpg) $Output = İşlem sonrası kaydedilecek dosya (Örn : C:\deneme_resized.jpg) $ToSize = Kilobyte cinsinden belirleyeceğiniz dosya boyutu (Örn : 250) Gerekli Diğer Fonksiyonlar ; Func _GetWHI($sImage) Local $HIMAGE, $aRet[3] _GDIPlus_Startup() $HIMAGE = _GDIPlus_ImageLoadFromFile($sImage) $aRet[0] = _GDIPlus_ImageGetWidth($HIMAGE) $aRet[1] = _GDIPlus_ImageGetHeight($HIMAGE) $aRet[2] = _GDIPlus_BitmapCreateHBITMAPFromBitmap($HIMAGE) _GDIPlus_ImageDispose($HIMAGE) _GDIPlus_Shutdown() Return $aRet EndFunc ;==>_GetWHI Func _ImageResize($sInImage, $sOutImage, $iW, $iH) Local $sOP, $sOF, $sInExt, $Ext, $hBitmap, $hImage1, $hImage2, $hGraphic, $CLSID, $i = 0 Local $sType = "BMP|GIF|ICO|JPG|JPEG|PNG|TIF|TIFF" If Not FileExists($sInImage) Then Return SetError(1, 0, 0) $sInExt = StringUpper(StringTrimLeft($sInImage, StringInStr($sInImage, ".", 0, -1))) If Not StringRegExp($sInExt, "\A(" & $sType & ")\z", 0) Then Return SetError(2, 0, 0) $sOP = StringLeft($sOutImage, StringInStr($sOutImage, "\", 0, -1)) If Not FileExists($sOP) Then Return SetError(3, 0, 0) $sOF = StringTrimLeft($sOutImage, StringInStr($sOutImage, "\", 0, -1)) $Ext = StringUpper(StringTrimLeft($sOutImage, StringInStr($sOutImage, ".", 0, -1))) If Not StringRegExp($Ext, "\A(" & $sType & ")\z", 0) Or $Ext = "ICO" Then Return SetError(4, 0, 0) If Not IsInt($iW) And Not IsInt($iH) Then Return SetError(5, 0, 0) $hBitmap = _WinAPI_CreateBitmap($iW, $iH, 1, 32) _GDIPlus_Startup() $hImage1 = _GDIPlus_BitmapCreateFromHBITMAP($hBitmap) $hImage2 = _GDIPlus_ImageLoadFromFile($sInImage) $hGraphic = _GDIPlus_ImageGetGraphicsContext($hImage1) _GDIPlus_GraphicsSetInterpolationMode($hGraphic, 2) _GDIPlus_GraphicsDrawImageRect($hGraphic, $hImage2, 0, 0, $iW, $iH) $CLSID = _GDIPlus_EncodersGetCLSID($Ext) Do $i += 1 Until (Not FileExists($sOP & $i & "_" & $sOF)) $sOutImage = $sOP & $sOF _GDIPlus_GraphicsSetInterpolationMode($hImage1, 2) _GDIPlus_ImageSaveToFileEx($hImage1, $sOutImage, $CLSID) _GDIPlus_ImageDispose($hImage1) _GDIPlus_ImageDispose($hImage2) _GDIPlus_GraphicsDispose($hGraphic) _WinAPI_DeleteObject($hBitmap) _GDIPlus_Shutdown() Return SetError(0, 0, 1) EndFunc ;==>_ImageResize Örnek Kullanım ; $File = @DesktopDir & "\test.jpg" ; full path of file to resize $MaxSize = 250 ; as kilobyte If FileExists($File) And IsNumber($MaxSize) Then $tim = TimerInit() _ResizeToSize($File, @DesktopDir & "\resized.jpg", $MaxSize*1024) MsgBox(64, "Geçen süre", Floor(TimerDiff($tim)) / (1000) & " saniye") Else MsgBox(48,"","hata") EndIf :download1:  
×
×
  • Create New...