-
Снова здравствуйте! Извиняюсь за назойливость. Как используя .NET уменьшить рисунок в размерах( например установить 300 dpi)
-
System.Drawing.Bitmap.SetResolution()
-
Осталось только добавить, что изображение при этом не "сжимается" :)
-
> System.Drawing.Bitmap.SetResolution()
Это понятно. а как затолкать рисунок из imppictureBox в System.Drawing.Bitmap. Должно получиться вроде
var BM:System.Drawing.Bitmap; BM:= ImppictureBox1.Image
Заранее спасибо.
-
Другими словами примерчик ПЛЗ.
-
Пробую делать так:
procedure TForm2.Button3Click(Sender: TObject);
var
bm: System.Drawing.Bitmap;
begin
bm:= System.Drawing.Bitmap.Create(ImpPictureBox1.Image);
bm.SetResolution(300,300);
ImpPictureBox1.Image:= bm;
end;
размеры рисунка не меняются.Где я не прав?
-
>Где я не прав?
См. [2].
[1] — это ответ на "установить 300 dpi".
-
> См. [2].
Извиняюсь,возможно я неправильно выразился.Мне нужно чтобы большой рисунок уместился целиком на PictureBox.Помогите ПЛЗ.
-
> [7] anton773 © (15.05.06 18:27)
>
> > См. [2].
>
> Извиняюсь,возможно я неправильно выразился.Мне нужно чтобы
> большой рисунок уместился целиком на PictureBox.Помогите
> ПЛЗ.
О! Тогда причем тут какие-то DPI? :)
Вполне достаточно установить у PictureBox'а SizeMode в StretchImage и картинка автоматически будет ужиматься до нужного размера.
-
> Вполне достаточно установить у PictureBox'а SizeMode в StretchImage
Если бы я работал с C# то то так бы и поступил. Прямо в инспекторе объектов установил бы StretchImage. Но я " мучаю" Delphi .NET И PictureBOX У меня импортированный из System.windows.forms.dll (воспользовался соответствующим мастером импорта NET компонентов,входящим в 2005 делфи) И свойства SizeMode в инспекторе объектов нет. Невозможно так же программно присвоить свойству ImpPictureBox1 значение StretchImage.Пробовал так:ImpPictureBox1.SizeMode:= StretchImage;
-
> Пробовал так:ImpPictureBox1.SizeMode:= StretchImage;
Пробуй так:
PictureBox1.SizeMode := PictureBoxSizeMode.StretchImage;
-
> Пробуй так:
> PictureBox1.SizeMode := PictureBoxSizeMode.StretchImage;
>
не работает. жалуется что PictureBoxSizeMode недекларированный идентификатор. Хотя решение где-то близко.
-
Ну, посмотри, где он объявлен.
Я вообще проблемы не понимаю. Зачем его было импортировать, если он и так уже есть в палитре компонентов.
-
> Я вообще проблемы не понимаю. Зачем его было импортировать,
> если он и так уже есть в палитре компонентов.
Он есть только в WinForm и C# в VCL .NET его нет.Там есть только Iimage, а применить к нему метод RotateFlip...( только по этой причине пришлось заниматься импортом PIctureBox ) похоже нельзя
-
Джо огромное спасибо за помощь(без тебя я бы не разобрался) Наконец у меня всё работает. PictureBoxSizeMode объявлен в System.Windows.Forms