|
8532
|
Programación / .NET (C#, VB.NET, ASP) / [SOLUCIONADO] Problema al convertir Bitmap a Ico
|
en: 18 Julio 2013, 06:57 am
|
Estoy intentando convertir un Bitmap al tipo de imágen Icono ( ICO), para guardar esa imágen al disco en formato ICO, pero el resultado que obtengo es un archivo PNG con la extensión modificada a ICO. ¿Porque la Class ImageFormat me guarda la imagen en formato PNG cuando le estoy indicando que me guarde el archivo en formato ICO?. No conozco otra manera de de guardar una imágen al disco (sin usar librerías o aplicaciones d terceros), ¿Como resuelvo esto?. ¿Acaso hay algo mal en el code? Esta es la manera en la que estoy usando mi code: Save_Icon(Resize_Image(Bitmap.FromFile(PictureBox_Regedit.Tag), "Regedit.ico")
Y esto es el resto del code: Private Sub Save_Icon(ByVal Source As Bitmap, ByVal Filename As String) Try If Not Directory.Exists(AppDir) Then Directory.CreateDirectory(AppDir) If Not Directory.Exists(AppIcons) Then Directory.CreateDirectory(AppIcons) Source.MakeTransparent() Source.Save(Path.Combine(AppIcons, Filename), ImageFormat.Icon) Catch ex As Exception Throw New Exception(ex.Message) End Try End Sub Private Function Resize_Image(ByVal img As Image, ByVal Width As Int32, ByVal Height As Int32) As Bitmap Dim Bitmap_Source As New Bitmap(img) Dim Bitmap_Dest As New Bitmap(CInt(24), CInt(24)) Dim Graphic As Graphics = Graphics.FromImage(Bitmap_Dest) Graphic.DrawImage(Bitmap_Source, 0, 0, Bitmap_Dest.Width + 1, Bitmap_Dest.Height + 1) Return Bitmap_Dest End Function
EDITO: El problema sucede tanto usando "maketransparent" como sin usarlo.
|
|
|
8533
|
Programación / .NET (C#, VB.NET, ASP) / Re: Librería de Snippets !! (Posteen aquí sus snippets)
|
en: 18 Julio 2013, 06:26 am
|
· Expandir todas las variables de un string PD: Útil para permitir al usuario manejar variables de entorno en la aplicación por ejemplo para setear una ruta, o cargar una ruta que contenga variables de entorno desde un archivo INI. #Region " Expand Variables In String " ' [ Expand Variables In String Function ] ' ' // By Elektro H@cker ' ' Examples : ' MsgBox(Expand_Variables_In_String("%homedrive%\Users\%username%\%fake-var%\")) ' Result: C:\Users\Administrador\%fake-var%\ Public Function Expand_Variables_In_String(ByVal str As String) As String Dim match As System.Text.RegularExpressions.Match = _ System.Text.RegularExpressions.Regex.Match(str, "(%.*%)") Do While match.Success str = str.Replace(match.ToString, Environment.ExpandEnvironmentVariables(match.ToString)) match = match.NextMatch() Loop Return str End Function #End Region
|
|
|
8534
|
Programación / .NET (C#, VB.NET, ASP) / Re: llamar funcion equivalente a shell desde window mobile
|
en: 18 Julio 2013, 06:14 am
|
estoy revisando este codigo pero no me funciona Hola, Manuel, Si no nos proporcionas el mensaje de la excepción o nos dices como mínimo en que línea tienes dicho error, ¿como esperas que te podamos ayudar?. El código en si mismo es correcto, la sintaxis es correcta, debería funcionar... Veo que escribes todos los namespaces, si no importas las referencias entonces me imagino que el error lo tienes aquí: Catch ex As ComponentModel.Win32Exception
En ese caso importa " system" o modifica lal ínea, así: Catch ex As System.ComponentModel.Win32Exception
No veo que pueda existir ningún otro error en ese código, o estás hablando de esa linea, o el executable no está donde debería estar... una de dos. EDITO:Prueba así... Imports System Imports System.Diagnostics Public Class Form1 Const ERROR_FILE_NOT_FOUND As Integer = 2 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Shown Dim ProgramaConRuta As String = "gTimeSync.exe" Dim Parametro As String = "-u" ' No es necesario que le añadas un espacio delante. Try Process.Start(ProgramaConRuta, Parametro) Beep() Catch ex As ComponentModel.Win32Exception If ex.NativeErrorCode = ERROR_FILE_NOT_FOUND Then MsgBox(String.Format("Error: ""{0}""", ex.Message), MsgBoxStyle.Critical, "Comprueba la ruta del programa.") End If End Try End Sub end class
Saludos
|
|
|
8535
|
Programación / Scripting / Re: ejecutar un bat en segundo plano
|
en: 18 Julio 2013, 01:31 am
|
@sysfactory 1. No se reviven temas de hace 5 años para formular una pregunta, crea un nuevo post. 2. Debes hacerlo en la sección correcta, VB.NET no es un lenguaje de Scripting. 3. Al postear un código debes usar el tag para insertar código. Puedes usar la Class Process para reemplazar a la función Shell: Process.Start("Exe", "Argumentos")
Cierro el tema, Saludos.
|
|
|
8536
|
Programación / .NET (C#, VB.NET, ASP) / Re: Sacar el color del Pixel que se ha pulsado con VB.NET
|
en: 17 Julio 2013, 23:57 pm
|
Hola buenas, es posible lo que intento hacer o es una locura? Se puede hacer -> [SOURCE] Color.NET Autor: EleKtro H@cker#Region " Get Pixel Color " ' [ Get Pixel Color Function ] ' ' // By Elektro H@cker ' ' Examples : ' ' Dim RGB As Color = Get_Pixel_Color(MousePosition.X, MousePosition.Y, ColorType.RGB) ' MsgBox(Get_Pixel_Color(100, 100, ColorType.RGB).ToString) ' MsgBox(Get_Pixel_Color(100, 100, ColorType.HEX)) ' MsgBox(Get_Pixel_Color(100, 100, ColorType.HTML)) <System.Runtime.InteropServices.DllImport("user32.dll")> Shared Function GetDC(hwnd As IntPtr) As IntPtr End Function <System.Runtime.InteropServices.DllImport("user32.dll")> Shared Function ReleaseDC(hwnd As IntPtr, hdc As IntPtr) As Int32 End Function <System.Runtime.InteropServices.DllImport("gdi32.dll")> Shared Function GetPixel(hdc As IntPtr, nXPos As Integer, nYPos As Integer) As UInteger End Function Public Enum ColorType RGB HEX HTML End Enum Public Function Get_Pixel_Color(ByVal x As Int32, ByVal y As Int32, ByVal ColorType As ColorType) Dim hdc As IntPtr = GetDC(IntPtr.Zero) Dim pixel As UInteger = GetPixel(hdc, x, y) ReleaseDC(IntPtr.Zero, hdc) Dim RGB As Color = Color.FromArgb(CType((pixel And &HFF), Integer), CType((pixel And &HFF00), Integer) >> 8, CType((pixel And &HFF0000), Integer) >> 16) Dim R As Int16 = RGB.R, G As Int16 = RGB.G, B As Int16 = RGB.B Dim HEX_R As String, HEX_G As String, HEX_B As String Select Case ColorType Case ColorType.RGB : Return RGB Case ColorType.HEX If Hex(R) = Hex(0) Then HEX_R = "00" Else HEX_R = Hex(R) If Hex(G) = Hex(0) Then HEX_G = "00" Else HEX_G = Hex(G) If Hex(B) = Hex(0) Then HEX_B = "00" Else HEX_B = Hex(B) Return (HEX_R & HEX_G & HEX_B) Case ColorType.HTML : Return ColorTranslator.ToHtml(RGB) Case Else : Return Nothing End Select End Function #End Region
|
|
|
8537
|
Programación / .NET (C#, VB.NET, ASP) / Re: Como puedo hacer que al cerrar una ventana un textbox se guarde solo
|
en: 17 Julio 2013, 21:15 pm
|
Por "ventana" imagino que te refieres al formulario. Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) _ Handles MyBase.Load TextBox1.Text = My.Settings.Texto End Sub Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) _ Handles MyBase.FormClosing My.Settings.Texto = TextBox1.Text End Sub End Class
1 - Crear un textbox y llámalo " Textbox1" 2 - Crear una propiedad en las " Settings" de tu proyecto, de tipo " String" y " User", y llámala " Texto". 3 - Googlear en caso de no saber seguir el paso 2. Saludos
|
|
|
8539
|
Programación / Scripting / Re: [BATCH] Problema con diccionario
|
en: 17 Julio 2013, 04:47 am
|
Intenté tanto con ^ como con ^^ y nada. Lo que te dije funciona para mostrar el caracter conflictivo "!" cuando la expansión de variables está activada como lo está en el código que has mostrado:
...Óbviamente es un ejemplo que debes adaptar al resto de tu código.
Yo diréctamente te diría que los temas complicados y donde se maneja mucho texto lo tratases en cualquier otro lenguaje que no sea Batch, pero si reálmente estás dispuesto a hacerlo sólo en Batch y si además quieres incluir los caracteres conflictivos "!" "?" pues entonces el code no va a poder quedar tán perfecto ni simplificado como deseas. De todas formas no necesitas usar enabledelayedexpansion en el código. set "chars=a b c d e f g h i j k l m n o p q r s t u w w x y z 0 1 2 3 4 5 6 7 8 9 ! ." :generar echo. %1>>"diccionario_ %lenght%.txt" )
Aquí tienes una alternativa funcional para mostrar los dos caracteres: rem set "chars=a b c d e f g h i j k l m n o p q r s t u w w x y z 0 1 2 3 4 5 6 7 8 9 ! ? ." ( )>"%TEMP%\chars.txt" :generar for /F %%c in ('type " %TEMP%\chars.txt"' ) do (call : generar %~1%%c) echo. %1>>"diccionario_ %lenght%.txt" )
Tampoco me voy a esmerar mucho más tratándose de Batch y sus limitaciones. Saludos!
|
|
|
|
|
|
|