颓废程序人生

你今天颓废了吗?

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

[记录]图形操作Gemme billede i CMYK

Function makeImage(ByVal strSource As StringByVal strDestination As StringByVal iWidth As IntegerByVal iHeight As IntegerByVal iDPI As IntegerByVal iQuality As Integer)
     
  
Dim LQuality As Integer = iQuality
        
Dim myImageCodecInfo As System.Drawing.Imaging.ImageCodecInfo
        
Dim myEncoder As System.Drawing.Imaging.Encoder
        
Dim myEncoderParameter As System.Drawing.Imaging.EncoderParameter
        
Dim myEncoderParameters As System.Drawing.Imaging.EncoderParameters
  
Dim new_g as Graphics
  
  myImageCodecInfo 
= GetEncoderInfo("image/jpeg")

        myEncoder 
= System.Drawing.Imaging.Encoder.Quality
        myEncoderParameters 
= New System.Drawing.Imaging.EncoderParameters(1)
        myEncoderParameter 
= New System.Drawing.Imaging.EncoderParameter(myEncoder, LQuality)
        myEncoderParameters.Param(
0= myEncoderParameter

  
' Hent billede
        Dim fs As System.IO.Stream = System.IO.File.OpenRead(strSource)

  
' Load billede
        Dim strSourceImg As System.Drawing.Image = System.Drawing.Image.FromStream(fs)

        
' Opret ny bitmap
  Dim imgOutput As New Bitmap(strSourceImg, iWidth, iHeight)
        imgOutput.SetResolution(iDPI, iDPI)

  
' Get graphics
  new_g = Graphics.FromImage(imgOutput)

  
' Apply rendering options
  new_g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality
  new_g.InterpolationMode 
= System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic
  new_g.DrawImage(strSourceImg, 
00, iWidth, iHeight)
  
        imgOutput.Save(strDestination, myImageCodecInfo, myEncoderParameters)
  
    
End Function

 
   
Private Function GetEncoderInfo(ByVal MYmimeType As String)
        
Dim i As Integer
        
Dim encoders As System.Drawing.Imaging.ImageCodecInfo() = Imaging.ImageCodecInfo.GetImageEncoders()
        
For i = 0 To (encoders.Length - 1)
            
If (encoders(i).MimeType = MYmimeType) Then
                
Return encoders(i)
            
End If
        
Next i
    
End Function


 

Function makeImage(ByVal strSource As StringByVal strDestination As StringByVal iWidth As IntegerByVal iHeight As Integer)

   
Dim myImageCodecInfo As System.Drawing.Imaging.ImageCodecInfo

   
Dim myEncoderParameters As System.Drawing.Imaging.EncoderParameters

   myImageCodecInfo 
= GetEncoderInfo("image/jpeg")

   myEncoderParameters 
= New System.Drawing.Imaging.EncoderParameters(2)

   myEncoderParameters.Param(
0= New EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 100)

   myEncoderParameters.Param(
1= New EncoderParameter(System.Drawing.Imaging.Encoder.SaveFlag, System.Drawing.Imaging.EncoderValue.ColorTypeCMYK)


   
' Hent billede

   
Dim fs As System.IO.Stream = System.IO.File.OpenRead(strSource)

   
   
' Load billede

   
Dim strSourceImg As System.Drawing.Image = System.Drawing.Image.FromStream(fs)


   
' Opret ny bitmap

   
Dim imgOutput As New Bitmap(strSourceImg, iWidth, iHeight)

   imgOutput.Save(strDestination, myImageCodecInfo, myEncoderParameters)

End Function





Private Function GetEncoderInfo(ByVal MYmimeType As String)

   
Dim i As Integer

   
Dim encoders As System.Drawing.Imaging.ImageCodecInfo() = Imaging.ImageCodecInfo.GetImageEncoders()

   
For i = 0 To (encoders.Length - 1)

      
If (encoders(i).MimeType = MYmimeType) Then

         
Return encoders(i)

      
End If

   
Next i

End Function

posted on 2005-08-27 22:30  颓废  阅读(792)  评论(1)    收藏  举报