Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
TImage üzerinde görüntü açılmıyor.
#1
Merhaba 
TImage üzerinde görsel gözükmüyor acaba neden olabilir ? Yardımcı olabilir misiniz ?


Ek Dosyalar Resimler
   
Cevapla
#2
Hiç kod görmüyorum, resmi yüklememişsiniz dersem iddiamı çürütecek kanıt yok.
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif
Cevapla
#3
(13-12-2022, Saat: 16:03)mrmarman Adlı Kullanıcıdan Alıntı: Hiç kod görmüyorum, resmi yüklememişsiniz dersem iddiamı çürütecek kanıt yok.

interface

uses
 Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
 Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls, Vcl.Menus,
 Vcl.ExtDlgs;

type
 TForm3 = class(TForm)
   MainMenu1: TMainMenu;
   Dosya1: TMenuItem;
   Dosya2: TMenuItem;
   Kaydet1: TMenuItem;
   ScrollBox1: TScrollBox;
   Image1: TImage;
   OpenPictureDialog1: TOpenPictureDialog;
   procedure Dosya2Click(Sender: TObject);
   procedure FormCreate(Sender: TObject);
   procedure FormDestroy(Sender: TObject);
   procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
     Shift: TShiftState; X, Y: Integer);
   procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;
     Shift: TShiftState; X, Y: Integer);
   procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
     Y: Integer);
 private
   { Private declarations }
 procedure Draw_Res;
 public
   { Public declarations }
 end;

var
 Form3: TForm3;

implementation

uses  JPEG;

{$R *.dfm}
var
jpg_tmp: TJPEGImage;
isMouseDown:boolean=false;
X0,Y0,X1,Y1:integer;


procedure TForm3.Dosya2Click(Sender: TObject);
begin
  OpenPictureDialog1.filter:='JPG|*.jpeg;*.jpg' ;
  if OpenPictureDialog1.Execute then
  begin
       jpg_tmp.LoadFromFile(OpenPictureDialog1.FileName);
       Draw_Res;
  end;
end;

procedure TForm3.FormCreate(Sender: TObject);
begin
     jpg_tmp:= TJPEGImage.Create;
end;

procedure TForm3.FormDestroy(Sender: TObject);
begin
    jpg_tmp.Destroy ;
end;

procedure TForm3.Image1MouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
 isMouseDown:=true;
 X0:=X;
 Y0:=Y;
end;

procedure TForm3.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
 Y: Integer);
begin
 if isMouseDown then
 begin
   X1:=X;
   Y1:=Y;
   Draw_Res;
 end;

end;

procedure TForm3.Image1MouseUp(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
 isMouseDown:=false;
end;

procedure TForm3.Draw_Res;
var
bmp:TBitmap ;
begin
bmp:=TBitmap.Create;
try
bmp.PixelFormat:=pf24bit;
bmp.Width:=jpg_tmp.Width;
bmp.Height:=jpg_tmp.Height;
bmp.Assign(jpg_tmp) ;

bmp.Canvas.Brush.Style:= bsclear;
bmp.Canvas.Pen.Style:=psdot;
bmp.Canvas.Rectangle(x0,y0,x1,y1);
finally bmp.Free; end;
end;

end.


Ek Dosyalar
.txt   Yeni Metin Belgesi.txt (Dosya Boyutu: 2,39 KB / İndirme Sayısı: 4)
Cevapla
#4
Şimdi oldu. Doğru tahmin etmişim.

Jpg Bmp dönüşümü yapılmış ancak image1 nesnesine yüklenmemiş.

DrawRes procedure altına, finally'den hemen önce  şunu ekleyin...

Image1.picture.bitmap.assign(bmp);
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif
Cevapla
#5
(13-12-2022, Saat: 16:56)mrmarman Adlı Kullanıcıdan Alıntı: Şimdi oldu. Doğru tahmin etmişim.

Jpg Bmp dönüşümü yapılmış ancak image1 nesnesine yüklenmemiş.

DrawRes procedure altına, finally'den hemen önce  şunu ekleyin...

Image1.picture.bitmap.assign(bmp);

Teşekkür ederim. Çözüldü sorun Smile
Cevapla
#6
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, ExtDlgs, RzButton, ExtCtrls,JPEG, RzPanel, RzSplit;

type
 TForm1 = class(TForm)
   SavePictureDialog1: TSavePictureDialog;
   OpenPictureDialog1: TOpenPictureDialog;
   Panel2: TPanel;
   RzBitBtn1: TRzBitBtn;
   RzBitBtn2: TRzBitBtn;
   RzBitBtn3: TRzBitBtn;
   RzSplitter1: TRzSplitter;
   RzPanel1: TRzPanel;
   Image2: TImage;
   RzPanel2: TRzPanel;
   Image1: TImage;
   procedure RzBitBtn1Click(Sender: TObject);
   procedure FormCreate(Sender: TObject);
   procedure FormDestroy(Sender: TObject);
   procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
     Shift: TShiftState; X, Y: Integer);
   procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;
     Shift: TShiftState; X, Y: Integer);
   procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
     Y: Integer);
   procedure RzBitBtn2Click(Sender: TObject);
   procedure RzBitBtn3Click(Sender: TObject);
 private
 Procedure Draw_Res;   
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}
VAR
JPG_TMP:TJPEGImage;
isMouseDown:Boolean=FALSE;
x0,y0,x1,y1:integer;    

procedure TForm1.RzBitBtn1Click(Sender: TObject);
begin
OpenPictureDialog1.Filter:='*.jpg *.jpeg|*.jpeg;*.jpg';
   IF OpenPictureDialog1.Execute THEN BEGIN
    JPG_TMP.LoadFromFile(OpenPictureDialog1.FileName);
     Draw_Res;                  
   END;

end;                           

procedure TForm1.FormCreate(Sender: TObject);
begin
JPG_TMP:=TJPEGImage.Create;
end;   

procedure TForm1.FormDestroy(Sender: TObject);
begin
JPG_TMP.Destroy;      
end;                    

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
isMouseDown:=true;
x0:=x;
y0:=y;
end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
 isMouseDown:=false;
 RzBitBtn2.Click;
end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
 Y: Integer);
begin
if isMouseDown then begin
x1:=x;
y1:=y;
try
Draw_Res;
except
end;
end;
end;

Procedure Tform1.Draw_Res;
var
bmp:Tbitmap;
begin
bmp:=Tbitmap.Create;
try
bmp.PixelFormat:=pf24bit;
bmp.Width:=JPG_TMP.Width;
bmp.Height:=JPG_TMP.height;
bmp.Assign(JPG_TMP);

bmp.Canvas.Brush.Style:=bsClear;
bmp.Canvas.Pen.Style:=psDot;
bmp.Canvas.Rectangle(x0,y0,x1,y1);
Image1.Picture.Assign(bmp);
finally
bmp.Free
end;
end; 


procedure TForm1.RzBitBtn2Click(Sender: TObject);
var
bmp:TBitmap;
jpg_res:TJPEGImage;
begin
bmp:=TBitmap.Create;
jpg_res:=TJPEGImage.Create;
try
bmp.PixelFormat:=pf24bit;
bmp.Width:=abs(x1-x0);
bmp.Height:=abs(y1-y0);
if x0>x1 then x0:=x1;
if y0>y1 then y0:=y1;
bmp.Canvas.Draw(-x0,-y0,JPG_TMP);
jpg_res.Assign(bmp);
image2.Picture.Bitmap.Assign(jpg_res);
finally bmp.Free; jpg_res.Free; end;
end;


procedure TForm1.RzBitBtn3Click(Sender: TObject);
begin
try
SavePictureDialog1.Filter:='*.jpg *.jpeg|*.jpeg;*.jpg';
if SavePictureDialog1.Execute then begin
image2.Picture.SaveToFile(ChangeFileExt(SavePictureDialog1.FileName,'.jpg'));
end;
except;
end;


end;

end. 
__________________________
From Now I will only Reading.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Hikvision IP Kameradan Görüntü Alma erdogan 5 1.265 08-10-2024, Saat: 09:24
Son Yorum: sadikacar60
  HDMI'den görüntü ve ses alma Yeliz 6 4.646 18-07-2022, Saat: 17:05
Son Yorum: mixfruit
  Webbrowser üzerinde Açılan Sayfanın Popup Sayfasındaki Linkler COMMANDX 2 1.508 03-08-2021, Saat: 23:59
Son Yorum: COMMANDX
  IP Kameradan Görüntü Alma shooterman 7 4.234 04-06-2021, Saat: 10:56
Son Yorum: CesuR
  windows üzerinde çalışan programları gruplamak yanniosman 2 1.531 17-03-2021, Saat: 18:39
Son Yorum: yanniosman



Konuyu Okuyanlar: 1 Ziyaretçi