Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
2 / 2 / 1
Регистрация: 29.08.2017
Сообщений: 39
1

Зум(увеличение) изображения System.Drawing.Image

07.10.2017, 17:01. Показов 1547. Ответов 1
Метки нет (Все метки)

Как увеличить изображение System.Drawing.Image в 2 раза?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.10.2017, 17:01
Ответы с готовыми решениями:

System.drawing.Image
Не подскажете, как можно вывести картинку типа System.drawing.Image. Вот код: uses...

Получение изображения из System.Drawing.Graphics
Нужно написать программу, которая поворачивает изображение из файла "kartinka.png" и сохраняет в...

Что за классы System, System.Drawing, System.Windows.Forms
Народ, объясните пожалуйста что за классы: System, System.Drawing, System.Windows.Forms. В справке...

System.Drawing и System.Windows.Forms -- как их соединить в одно окно
Вопрос следующий: есть программа, она делится на две части - одна графика, другая текстовое окно. В...

1
9 / 9 / 11
Регистрация: 28.12.2015
Сообщений: 161
09.10.2017, 11:29 2
Лучший ответ Сообщение было отмечено l_MrBoom_l как решение

Решение

У меня есть модуль на эту тему, но в нём нужно разбираться, если интересно пиши.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Uses GraphABC, System.Drawing, system.Drawing.Imaging; 
var me_pic : bitmap; 
/// это изображение(карта точек на изображении).
ar : array [,] of byte := 
((1,1,1,1,0,0,1), 
(1,0,1,0,0,0,1), 
(1,0,1,0,0,0,1), 
(1,0,1,0,0,0,1), 
(1,0,1,0,0,0,1), 
(1,0,1,0,0,0,1), 
(1,1,1,1,0,0,1));
 
procedure create_pic (var pic : bitmap; var img : array [,] of byte); 
begin 
   me_pic := new bitmap(length(img,0),length(img,1)); //length(img,0) длинна строк, Length(img,1) длинна столбцов (или наабарот).
   for var i := 0 to pic.Width -1 do 
      for var j := 0 to pic.Height -1 do 
         if img[i,j] = 1 then pic.SetPixel(j,i, clrandom);
end;
 
BEGIN 
GraphWindowGraphics.SmoothingMode:= System.Drawing.Drawing2D.SmoothingMode.Default; // это не обязательно, не помню что это, но рекомендую.
GraphWindowGraphics.InterpolationMode:= System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor; // режим при котором увеличивает изображения по квадратикам
create_pic (me_pic, ar); 
GraphWindowGraphics.DrawImage(me_pic,new Rectangle(10,10,150,150), new Rectangle(0,0,me_pic.Width,me_pic.Height),GraphicsUnit.Pixel); // рисует и масштабирует.
GraphWindowGraphics.DrawRectangle(pens.Black, 10,10,150,150);
 
// Почему левые пиксели, сплющенные?
// Потому что при отрисовке изображение смещено в левый верхний угол ровно на половину пикселя, и обрезан;
// Это из-за не правильной работы метода DrawImage.
// эту проблему можно обойти смещая изображение обратно на пол пикселя (это не легко).
END.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.10.2017, 11:29

System.Drawing и System.Windows.Forms
Гуглил команды для модулей System.Drawing и System.Windows.Forms, но ничего не нашёл. Дадите пж...

Графика и system.drawing
Всем привет. Возник вопрос на графике .net- как в нём собственно рисовать?) У самого получилось...

Рисование System.Drawing
Добрый день, нашел вот такой код {$apptype Windows} {$reference 'System.Windows.Forms.dll'}...

Пространство имен 'System.Drawing' не найдено
{$apptype windows} {$reference 'System.Windows.Forms.dll'} uses System, ...

Как вставить картинку в программу с system.drawing?
MainForm.BackgroundImage := Image.FromFile('1.png'); Как делать изображение фона с system.drawing...

Нужна функция UnZip (n: string): System.Drawing.Color
Нужна функция UnZip (n: string): System.Drawing.Color; Например n = '255 0 0' то результат -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru