Форум программистов, компьютерный форум, киберфорум
Swift
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
7 / 7 / 2
Регистрация: 16.11.2011
Сообщений: 251
1

Рисование на изображении и сохранение оригинального размера

20.12.2017, 18:47. Показов 1783. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет. Подскажите пожалуйста. Столкнулся с необходимостью рисовать на изображении (простые линии), после чего сохранить все это художество в файл. Так вот, проблема в том, что я или не могу сохранить изображение в нормальном размере (картинка получается с размерами экрана) или же, если устанавливаю другие значения для размера contect'a то рисовалка ломается. Линии и точки рисуются с большим смещением, примерно раза в два. Да и сами линии смотрятся сплющенными. Но, при этом, в файле все отображается как нужно. Подскажите как это исправить. Пытался умножать координаты точек на значение scale, но особого результата это не дало.

Objective-C
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
    self.swiped = false
    if let touch = touches.first {
 
 
        lastPoint = touch.location(in: self.view)
 
        print(lastPoint)
 
    }
}
 
func drawLineFrom(fromPoint: CGPoint, toPoint: CGPoint) {
 
 
    let scale = UIScreen.main.scale
 
    UIGraphicsBeginImageContextWithOptions((tempImageView.image?.size)!, false, scale)
 
  let context = UIGraphicsGetCurrentContext()
 
    tempImageView.image?.draw(in: CGRect(origin: CGPoint.zero, size: (tempImageView.image?.size)!))
 
    //let context = UIGraphicsGetCurrentContext()
 
    print("context size = \(context)")
    print("fromPoint = \(fromPoint), toPoint = \(toPoint)")
    context?.move(to: CGPoint(x: fromPoint.x, y:fromPoint.y))
    context?.addLine(to: CGPoint(x: toPoint.x, y:toPoint.y))
 
    context?.setBlendMode(CGBlendMode.normal)
    context?.setLineCap(CGLineCap.round)
    context?.setLineWidth(5)
    context?.setStrokeColor(UIColor(red: 0, green: 0, blue: 0, alpha: 1).cgColor)
    context?.strokePath()
 
    tempImageView.image = UIGraphicsGetImageFromCurrentImageContext()
    self.newImage = UIImagePNGRepresentation(UIGraphicsGetImageFromCurrentImageContext()!)
    UIGraphicsEndImageContext()
 
}
override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
 
    swiped = true
    if let touch = touches.first {
        let currentPoint = touch.location(in: self.view)
        drawLineFrom(fromPoint: lastPoint, toPoint: currentPoint)
 
        lastPoint = currentPoint
        print(lastPoint)
 
    }
}
 
override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
    if !swiped {
        drawLineFrom(fromPoint: lastPoint, toPoint: lastPoint)
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.12.2017, 18:47
Ответы с готовыми решениями:

Рисование пикселя на изображении
Нужно нарисовать пиксель на изображении. Но рисуется не правильно, в изображение почему-то...

Рисование на изображении, Кнопка загрузки изображения с компа
Уважаемые программисты. Два вопроса: 1 - У меня есть изображение, как сделать чтоб поверх него...

Получить фото оригинального размера (Yandex фото)
Есть фото : https://yandex.ru/collections/card/5b48b0ed1a8cc100a8c41dce/ Исходя из исходного кода...

Сохранение оригинального название файла, после загрузки файла на сервер
Есть код, который загружает файл в папку if($_FILES){ if(isset($_FILES)){ ...

0
20.12.2017, 18:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.12.2017, 18:47
Помогаю со студенческими работами здесь

Изменение размера изображении на PHP
Доброго вечера всем. Задачка такая. При выкладывании фото пользователем чтобы на сервер фото...

Вычисление реального размера объекта на изображении
Всем привет. Задачка такая: Есть объекты на изображении (круг, квадрат, прямоугольник - неважно)...

Сохранение чертежа на изображении jpg
Такая тема, ребята. Вставил в акад 2015 изображение в формате jpg (большого разрешения) выделил...

Рисование в PictureBox и сохранение рисунка
Создается простой графический редактор на C#. Проблема следующая: в PictureBox загружается...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru