PDA

View Full Version : تغییر رنگ تصویر



nassim_20
یک شنبه 03 شهریور 1387, 00:00 صبح
تصویری دارم که میخواهم با حرکت موس بر روی آن رنگش تغییر کند البته تغییر رنگ چندان زیاد نباشد و مثل یه لایه رنگی با transparent پایین رو تصویر اعمال شود عین لایه های فتوشاپ
و البته پیکسلهایی که رنگشان نزدیک به رنگ اولین پیکسل است تغییر نکند

nassim_20
یک شنبه 03 شهریور 1387, 06:36 صبح
من این کد رو پیدا کردم ولی تنها زمانی جواب میده که تصویر bmp باشه روی تصاویر jpg و یا gif عمل نمیکنه بخصوص من می خواهم روی تصاویر gif کار کنم


procedure TForm1.Button1Click(Sender: TObject);
var a,b:integer;
begin //© 2005 koosha system Software http://delphi-center.blogfa.com
Image1.Picture := Image2.Picture;
//imageq21.Picture := Image2.Picture;

for a:=0 to Image1.Height-1 do
begin
for b:=0 to Image1.Width-1 do
if Image1.Canvas.Pixels[b,a] <> Image1.Canvas.Pixels[1,1] then
Image1.Canvas.Pixels[b,a]:= ColorBox1.Selected -(Image1.Canvas.Pixels[b,a]);
end;

end;

Felony
یک شنبه 03 شهریور 1387, 09:14 صبح
خوب تصویرت رو به Bmp تبدیل کن بعد عملیات رور وش انجام بده

ab_ba
یک شنبه 03 شهریور 1387, 09:34 صبح
وقتی تصویر داخل کنترل مربوطه لود شد وارد حافظه شده است دیگر ربطی به فرمت فایل ندارد

nassim_20
یک شنبه 03 شهریور 1387, 09:40 صبح
خوب تصویرت رو به Bmp تبدیل کن بعد عملیات رور وش انجام بده

اما تصویری که gif است و می خواهم قسمتهایی از او دیده نشده و transparent است اگه به bmp تبدیل بشه قسمتهای transparent سفید میشه که اصلامناسب نیست


وقتی تصویر داخل کنترل مربوطه لود شد وارد حافظه شده است دیگر ربطی به فرمت فایل ندارد

اما ارور میده

Felony
یک شنبه 03 شهریور 1387, 10:54 صبح
وقتی تصویر داخل کنترل مربوطه لود شد وارد حافظه شده است دیگر ربطی به فرمت فایل ندارد

:متفکر:دوست عزیز چه ربطی داره که تو حافظه لود شده یا نه ؟
وقتی تو حافظه لود هم شده باشه بازم فرمت و کدهاش با فرمت Gif مطابقت داره و دلفی نمیتونه مستقیم روش کنترلی داشته باشه مگر اینکه به Bitmap تبدیل شه.

Felony
یک شنبه 03 شهریور 1387, 10:57 صبح
اما تصویری که gif است و می خواهم قسمتهایی از او دیده نشده و transparent است اگه به bmp تبدیل بشه قسمتهای transparent سفید میشه که اصلامناسب نیست


خوب عکس را لود کنید بعد ازش یه عکس بگیرید و در image2 بریزید اینطوری قابلیت Transparent حفظ شده و دقیقا مثل عکس اولیه وارد image2 میشه ولی با فرمت Bmp حالا میتونید تغیراتتون رو روش اعمال کنید ...