|
431
|
Programación / .NET (C#, VB.NET, ASP) / Error con Sub
|
en: 24 Enero 2010, 19:23 pm
|
Tengo un programa que he estado haciendo y mejorando de un autologger de un juego online llamado Tibia, hoy se me ocurrio agregarle progressbar personalizadas pero a mi manera con este sub que probe en un proyecto nuevo vacio que cree para solo probarlo: Public Shared Sub LoadImage(ByVal Pic As PictureBox, ByVal Percent As Integer) Dim LoadedBar As New Bitmap(My.Resources.Bar, Pic.Width, Pic.Height) Dim Img As New Bitmap(Pic.Width, Pic.Height) Select Case Percent Case 100 Pic.Image = LoadedBar Case 0 Pic.Image = Nothing Case Else For X As Integer = 0 To (LoadedBar.Width * (Percent / 100) - 1) For Y As Integer = 0 To (LoadedBar.Height - 1) Img.SetPixel(X, Y, LoadedBar.GetPixel(X, Y)) Next Next Pic.Image = Img End Select Pic.Refresh() Img = Nothing LoadedBar = Nothing End Sub
Consiste en cargar un % de una imagen que obviamente es la barra de progreso completa en un picturebox esto da la sensación de una progressbar; la imagen está es los resources del programa como Bar.png en el proyecto vacio de prueba sirve perfectamente pero si lo pruebo en mi proyecto, se cierra el form desde donde llame el sub y da el siguiente error: El valor no puede ser nulo. Nombre del parámetro: imageEn la linea: Dim LoadedBar As New Bitmap(My.Resources.Bar, Pic.Width, Pic.Height)
Pero este error no da en el proyecto vacio de prueba, ya me tiene azul y no se que hacer
|
|
|
432
|
Programación / .NET (C#, VB.NET, ASP) / Re: [VB.NET] Comparar Imagenes
|
en: 21 Enero 2010, 01:17 am
|
Tengo una idea que podría funcionar aunque lleva algo de matemática pero bueno los programadors somos matemáticos natos Recorre todos los pixel de cada imagen comparando su valor hex, por cada pixel diferente sumaras +1 si es igual no sumaras nada en una variable A que usaras como buffer en una variable B sumaras +1 cada vez que compares un pixel con otro si al final A es igual a cero entonces la igual es igual si A es diferente que cero entonces es diferente para calcular el porcentaje entonces debes dividir A entre B y multiplicarlo por 100, mira el ejemplo: Public Class Form1 Public Function GetPixels(ByVal I As Bitmap) As List(Of Integer) GetPixels = New List(Of Integer) Dim X As Integer = 0, Y As Integer = 0 While X <> I.Width AndAlso Y <> I.Height GetPixels.Add(I.GetPixel(X, Y).ToArgb) X += 1 Y += 1 End While End Function Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim I1 As New Bitmap("C:\1.jpg") Dim I2 As New Bitmap("C:\2.jpg") Dim A As Long = 0 Dim B As Long = 0 For Each C As Integer In GetPixels(I1) For Each D As Integer In GetPixels(I2) If C <> D Then A += 1 End If B += 1 Next Next MsgBox("Diferentes: " & A & _ vbNewLine & "Análizados: " & B _ & vbNewLine & "Porcentaje de Diferencia: " & Math.Round(A / B * 100, 2) & "%") End Sub End Class
|
|
|
433
|
Programación / .NET (C#, VB.NET, ASP) / Re: No puedo enviar mail con c#
|
en: 18 Enero 2010, 14:39 pm
|
Yo tengo este sub en vb.net siempre me ha funcionado Public Sub SendMail(Byval mSmtp As String, _ Byval mPort As Integer, _ ByVal mFrom As String, _ ByVal mFromPassword As String, _ ByVal mTo() As String, _ ByVal mSubject As String, _ ByVal mBody As String, _ ByVal mAttachments() As String) Dim _ WC As New System.Net.WebClient, _ MyMailMessage As New MailMessage, _ SMTPServer As New SmtpClient(mSmtp) MyMailMessage.IsBodyHtml = True MyMailMessage.From = New MailAddress(mFrom) For Each mSend As String In mTo MyMailMessage.To.Add(mSend) Next MyMailMessage.Subject = (mSubject) For Each mAtt As String In mAttachments If File. Exists(mAtt ) Then MyMailMessage.Attachments.Add(New Attachment(mAtt)) End If Next WC.Dispose() MyMailMessage.Body = (mBody) SMTPServer.Port = mPort SMTPServer.Credentials = New System.Net.NetworkCredential(mFrom, mFromPassword) SMTPServer.EnableSsl = True Try SMTPServer.Send(MyMailMessage) Catch : End Try
Solo deberás pasarlo a C#
|
|
|
436
|
Programación / .NET (C#, VB.NET, ASP) / Que diferencia?
|
en: 18 Enero 2010, 01:26 am
|
Tengo una pregunta que me intriga que diferencia hay entre importar un api desde coredll que importarla desde kernel32 o user32 y poque coredll tiene funciones que tambien estan en kernel32 y en user32...
|
|
|
438
|
Programación / .NET (C#, VB.NET, ASP) / Problema con Icono [OTRA PREGUNTA]
|
en: 17 Enero 2010, 17:33 pm
|
Tengo el siguiente problema el icono de mi aplicación a 32x32 se ve perfecto en el escritorio pero en una carpeta en vista mosaico se ve mal a menos de que este sea 48x48, habrá una forma de que se vea bien en el escritorio y tambien dentro de una carpeta en mosaico?, o será un error mio al hacer el icono? Miren estás imagenes: En el Escritorio:En una Carpeta:Quisas esto nisiquiera vaya aqui pues perdon sino va aquí...
|
|
|
439
|
Programación / .NET (C#, VB.NET, ASP) / Re: Mi Pequeño Programa
|
en: 16 Enero 2010, 20:09 pm
|
Primero hay que tomar en cuenta que el nombre del foro es foro.elhacker.net creo que ya eso es suficiente para que no podemos quejarnos de los malwares que se escriban aqui, a menos de que seamos tan estupidos como para infectarnos entre nosotros mismos Bueno el code está bien pero habria una forma más limpia de hacerlo y está sería recorriendo todas las carpetas de archivos de programas y copiarnos en todas las subcarpetas, aunque infectariamos más de lo que queremos habriamos infectado todo con menos codigo, tambien puedes agregar el atributo System a los archivos además de Hidden...
|
|
|
440
|
Programación / .NET (C#, VB.NET, ASP) / Re: Obtener Fecha
|
en: 16 Enero 2010, 05:32 am
|
Aunque los metodos antes mencionados son fiables, gracias por ayudarme, hice uno en el cual tomo como hora de inicio del sistema el ultimo acceso a ntuser.dat en userprofile luego le sumo el retorno de la API GetTickCount y así obtengo la hora "real" del sistema y la comparo con la actual y bueno ya de hay sabemos que han hecho con el reloj, además que usar ntuser.dat me ayuda ya que no se puede editar ni acceder.
|
|
|
|
|
|
|