Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.07.2009, 16:24   #1
igordz
Новичок
Джуниор
 
Регистрация: 17.09.2008
Сообщений: 2
По умолчанию Искажение цвета в TImage

Добрый день! Подскажите почему при открытии в TImage файла C:\Documents and Settings\All Users\Application Data\Microsoft\User Account Pictures\Default Pictures\duck.bmp происходит искажение цвета - утенок фиолетовый а не желтый.

При использовании следующего кода результат тот же

var
bmp1: TBitmap;
begin
bmp1:=tBitmap.Create;
bmp1.LoadFromFile('c:/duck.bmp');
BitBlt(Form1.Canvas.Handle, 0, 0, 100,100,bmp1.Canvas.Handle,0,0,srcC opy);
end;

файл duck.bmp прилагается
Изображения
Тип файла: bmp duck.bmp (6.8 Кб, 132 просмотров)
igordz вне форума Ответить с цитированием
Старый 09.07.2009, 16:33   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Переведи его в JPeg и загрузи JPEG
Код:
unit Unit1;

interface

uses         jpeg,
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtDlgs, ExtCtrls;

type
  TForm1 = class(TForm)
    Image1: TImage;
    OpenPictureDialog1: TOpenPictureDialog;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  B:TPicture;
begin
  B:=TPicture.Create;
  B.LoadFromFile('c:/duck.bmp');
  Canvas.Draw(0, 0 ,B.Graphic);
end;

end.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.07.2009, 22:37   #3
igordz
Новичок
Джуниор
 
Регистрация: 17.09.2008
Сообщений: 2
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Переведи его в JPeg и загрузи JPEG
Код:
unit Unit1;

interface

uses         jpeg,
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtDlgs, ExtCtrls;

type
  TForm1 = class(TForm)
    Image1: TImage;
    OpenPictureDialog1: TOpenPictureDialog;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  B:TPicture;
begin
  B:=TPicture.Create;
  B.LoadFromFile('c:/duck.bmp');
  Canvas.Draw(0, 0 ,B.Graphic);
end;

end.
Пробовал, но для того чтобы програмно конвертануть BMP в JPG его нужно для начала открыть
(B:=TPicture.Create;
B.LoadFromFile('c:/duck.bmp');
а потом конвертировать а открывает он его уже с неправильным цветом и в итоге получаем JPG тоже с неправильным цветом.
igordz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TImage в TImage One.Love Общие вопросы Delphi 15 22.09.2008 19:37
TImage Killbrum Помощь студентам 8 27.08.2008 22:40
Timage Черничный Компоненты Delphi 10 04.07.2008 12:50
цвета Toxa Общие вопросы Delphi 3 20.04.2007 12:03
TImage Andrey9392 Компоненты Delphi 6 06.04.2007 10:43