Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Внешний дефайн или нечто подобное всем привет был изначально код все в одном файле в нем был некий #define something потом часть кода была вынесена в другой файл. и соответственно там дефайна нет правильно ли будет сдублировать этот дефайн и в новом файле и последующих? https://www.cyberforum.ru/ cpp-beginners/ thread3180690.html Методы решения СЛАУ для треугольной матрицы которые можно параллельно вычислить C++
Какие есть методы решение СЛАУ для верхтреугольной матрицы которые можно вычислять параллельно. Если матрица хранится как (10 1 1 0 0(1строка) 10 1 1 1(2) 10 0 1(3) 10 1 (4)10(5)), а вектор храниться( 1 2 3 4 5)
C++ Нарушение прав доступа при чтении по адресу При выполнении программы без вывода всё работает корректно, при попытке вывести результат функции А вылезает исключение на строке a = matrix; исключение:Вызвано исключение по адресу 0x00007FF7350870E1 в решение матриц или определителей.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xFFFFFFFFFFFFFFFF. код: https://www.cyberforum.ru/ cpp-beginners/ thread3180530.html C++ Проверить что в массиве нет элементов больших заданного числа Проверить, что в массиве нет элементов, больших заданного числа. Если такой номер есть, найти его номер. Решить методом флажка https://www.cyberforum.ru/ cpp-beginners/ thread3180518.html
C++ Определить длительность пробежки
Условие задачи: Феофан увлекается тремя вещами: программированием, музыкой, а также бегом. Однако, выйдя сегодня на пробежку, он забыл включить секундомер в начале, поэтому теперь не знает, сколько времени он бегал. Феофану пришла гениальная мысль — вычислить длительность пробежки, используя информацию о песнях, которые он послушал в процессе. Он вспомнил, что за время пробежки он целиком...
C++ Определить какое максимальное количество кубиков можно поставить в ряд Решаю уже 2 день только эту задачу: Петя играет с разноцветными кубиками. У него есть x красных, y зеленых и z синих кубиков. Он ставит кубики в ряд один за другим так, чтобы цвета соседних кубиков не совпадали. Какое максимальное количество кубиков можно поставить в ряд, с учетом этого условия? Пример Входные данные 3 10 2 Результат работы 11 https://www.cyberforum.ru/ cpp-beginners/ thread3180476.html
C++ Поиск максимального элемента в массиве https://www.cyberforum.ru/ cpp-beginners/ thread3180449.html
Напишите программу на С++, которая ищет в одномерном целочисленном массиве элемент с максимальным значением. Программа должна вывести порядковый номер элемента массива, значение которого соответствует максимальному числу и его значение. Нумерация элементов начинается с 0. В качестве исходных данных можете использовать предопределенный в программе массив, например: int m =...
Поиск заданного элемента в одномерном массиве C++
Напишите программу на С++, которая ищет в одномерном целочисленном массиве первое вхождение элемента с заданным значением. Программа должна вывести порядковый номер элемента массива, значение которого соответствует искомому и его значение. Нумерация элементов начинается с 0. Если искомый элемент не найден, необходимо вывести сообщение о том, что заданный элемент не найден. В качестве исходных...
C++ Раздача: проверить вход ли точка в закрашенную область Добрый день! Помогите пожалуйста с решением задачи. Приложил картинку, надо чтоб человек вводил координаты x, y, а програма выдала true если входит точка в закрашенную область или false если нет https://www.cyberforum.ru/ cpp-beginners/ thread3180440.html C++ Таблица значений функций https://www.cyberforum.ru/ cpp-beginners/ thread3180419.html
Помогите зоздать схему
Как диагностировать ожидания на мутексах? C++
Всем привет есть некий код, который запускается многопоточно. например ... void doSomethink(){ while(некоеУсловие) {
C++ Найти наименьшее из всех введеных чисел Учусь на 1 курсе, изучаем с++. Сделал первые два пункта, но решение для 3 придумать не могу, но идея есть: запомнить новое введеное число и сравнить с каким то значением(но не знаю с каким). Задача: Для 7-ми введеных целых чисел определить и вывести а) количество отрицательных чисел б)сумму двузначных чисел в) наименьшее из всех введеных чисел код: #include<iostream> using namespace std;... https://www.cyberforum.ru/ cpp-beginners/ thread3180372.html
8 / 8 / 4
Регистрация: 08.12.2022
Сообщений: 157
28.09.2024, 17:42  [ТС] 0

Выход за границы в методе изменения размера изображения - C++ - Ответ 17406451

28.09.2024, 17:42. Показов 1300. Ответов 20
Метки (Все метки)

Ответ

TheCalligrapher,
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
void Image::resize(std::vector<Color>& pixels_, int newWidth, int newHeight) const
{
    int oldWidth = GetWidth();
    int oldHeight = GetHeight();
 
    std::vector<Color> newPixels(newWidth * newHeight);
 
    for (int i = 0; i < newWidth; ++i)
    {
        for (int j = 0; j < newHeight; ++j) 
        {
            float x = i * (oldWidth - 1.0f) / (newWidth - 1.0f);
            float y = j * (oldHeight - 1.0f) / (newHeight - 1.0f);
 
            int x1 = static_cast<int>(x);
            int y1 = static_cast<int>(y);
            int x2 = std::min(x1 + 1, oldWidth - 1);
            int y2 = std::min(y1 + 1, oldHeight - 1);
 
            float dx = x - x1;
            float dy = y - y1;
 
            Color p1 = pixels_[y1 * oldWidth + x1];
            Color p2 = pixels_[y1 * oldWidth + x2];
            Color p3 = pixels_[y2 * oldWidth + x1];
            Color p4 = pixels_[y2 * oldWidth + x2];
 
            newPixels[j * newWidth + i].r = static_cast<unsigned char>((1 - dx) * (1 - dy) * p1.r + dx * (1 - dy) * p2.r + (1 - dx) * dy * p3.r + dx * dy * p4.r);
            newPixels[j * newWidth + i].g = static_cast<unsigned char>((1 - dx) * (1 - dy) * p1.g + dx * (1 - dy) * p2.g + (1 - dx) * dy * p3.g + dx * dy * p4.g);
            newPixels[j * newWidth + i].b = static_cast<unsigned char>((1 - dx) * (1 - dy) * p1.b + dx * (1 - dy) * p2.b + (1 - dx) * dy * p3.b + dx * dy * p4.b);
            newPixels[j * newWidth + i].a = static_cast<unsigned char>((1 - dx) * (1 - dy) * p1.a + dx * (1 - dy) * p2.a + (1 - dx) * dy * p3.a + dx * dy * p4.a);
        }
    }
}


Вернуться к обсуждению:
Выход за границы в методе изменения размера изображения C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.09.2024, 17:42
Готовые ответы и решения:

Выход за границы диапазона изменения индекса
var df1,df2,df3:array of char; i,j,zx:byte; begin for i:=1 to 5 do read (df1,df2); for i:=1 to...

Выход за границы диапазона изменения индекса
Задача кластерного анализа. Как исправить ошибку: выход за границы диапазона изменения индекса...

выход за границы диапазона изменения индекса
var A : array of integer ; xa1:integer; begin randomize; a:=random(800);...

Выход за границы диапазона изменения индекса
выход за границы диапазона изменения индекса,строка 53 Program 6; uses crt; const z=20; type...

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

Выход за границы диапазона изменения индекса
Доброго времени суток! При компиляции ошибка: »*Ошибка: 100001 - выход за границы диапазона...

Выход за границы диапазона изменения индекса.
Помогите пожалуйста разобраться с ошибкой, выдаётся в 43 строке, причём не всегда. А задача...

Выход за границы диапазона изменения индекса
const n=12; type mas=array of integer; var a,b:mas;i,j,jmin,jmax,j1,j2,k: integer; ...

Ошибка: выход за границы диапозона изменения индекса
Помогите исправить ошибку в коде ниже: const L=10; W=30; var txt:array of char; x:char; ...

Ошибка: 5 - выход за границы диапазона изменения индекса 1..4
Ошибка: 5 - выход за границы диапазона изменения индекса 1..4 program sport; const nc=3; var...

Ошибка 7 выход за границы диапазона изменения индекса 1.6
program zadacha1; uses crt; const n=6; var a:array of integer; i:integer; begin clrscr; ...

Ошибка 0 - выход за границы диапазона изменения индекса
program masiv; var i, j, n, sum: integer; mas: array of integer; begin ...

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