سلام.
اینجا یک تابعی داریم که قادر هست رنگ های یک تصویر رو برگردونه یا به عبارتی معکوس (Invert) کنه.

حالا چرا InvertColor و کارائیش چیه؟!
زمانی هست می خوایم از یک یا چند تصویر پرینت داشته باشیم ولی رنگ پس زمینه تصویر سیاه یا تاریک هستش و فقط متن اون تصویر روشن هست. اگه بخوایم تو همین حالت از تصویر پرینت بگیریم برای چاپ لازمه که دستگاه چاپگر اگر لیزری هست پودر زیادی مصرف کنه و اگه دستگاه سوزنی هست که فاجعه است.
برای همین هم این کد یا دستور کمک می کنه به راحتی رنگ تصویر رو معکوس کنیم و ی چاپ درست و حسابی با پس زمینه روشن داشته باشیم که متن هم واضح و خوانا خواهد بود.
این امکان بیشتر برای تصاویری که از گوشیهای موبایل فرستاده می شه و از پیام رسان که پس زمینه رو تاریک یا حالت شب گذاشتند گرفته شده کاربرد داره.
این دستور رو با یک ایده تبدیل کردمش به یک دستور در رجیستری و در منوی راست کلیک برای تصاویر کاربرد داره که تنها با دو کلیک می شه رنگ تصویر رو معکوس کرد.

تابع معکوس کردن رنگ های تصویر:

Shared Function InvertColors(filepath As String) As Image
Dim Img As Bitmap = Image.FromFile(filepath)
For y = 0 To Img.Height - 1
For x = 0 To Img.Width - 1
Img.SetPixel(x, y, Color.FromArgb(-Img.GetPixel(x, y).GetHashCode))
Next
Next
Return Img
End Function


این تابع و توابع دیگه توی یک کلاس ایجاد شدند برای همین هم Shared تعریف شده، اگه می خواید توی ماجول داشته باشید کلمه Shared رو حذف کنید.