Общие указания. Цель работы: загрузка растрового изображения из bmp файла
Цель работы: загрузка растрового изображения из bmp файла Рисунок 1. Растровое изображение Код окна приложения
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { PAINTSTRUCT ps; HDC hdc; static int caption, menu, border; static HDC memBit; static HBITMAP hBitmap; static BITMAP bm; switch (message) { case WM_CREATE: caption = GetSystemMetrics(SM_CYCAPTION); menu = GetSystemMetrics(SM_CYMENU); border = GetSystemMetrics(SM_CXFIXEDFRAME); hBitmap = (HBITMAP)LoadImage(NULL, _T("C:\\Users\\Admin\\Desktop\\bmp-30105.bmp"), IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_CREATEDIBSECTION); if (hBitmap == NULL) { MessageBox(hWnd, _T("Файл не найден"), _T("Загрузка изображения"), MB_OK | MB_ICONHAND); DestroyWindow(hWnd); return 1; } GetObject(hBitmap, sizeof(bm), &bm); hdc = GetDC(hWnd); memBit = CreateCompatibleDC(hdc); SelectObject(memBit, hBitmap); ReleaseDC(hWnd, hdc); break; case WM_SIZE: MoveWindow(hWnd, 100, 50, bm.bmWidth + 2 * border, bm.bmHeight + caption + menu + border, TRUE); break; case WM_COMMAND: switch (LOWORD(wParam)) { case IDM_EXIT: DestroyWindow(hWnd); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } break; case WM_PAINT: hdc = BeginPaint(hWnd, &ps); BitBlt(hdc, 0, 0, bm.bmWidth, bm.bmHeight, memBit, 0, 0, SRCCOPY); EndPaint(hWnd, &ps); break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } return 0; }
Общие указания При течении газа или жидкости между смежными слоями возникают силы внутреннего трения, действие которых препятствует взаимному перемещению слоев. Свойство газа или жидкости оказывать сопротивление перемещению одних слоев относительно других называется вязкостью. Если в потоке газа или жидкости мысленно выделить два смежных слоя
1 и 2 (рис.1), скорости, движения которых соответственно равны υ и υ+dυ;, то силы внутреннего трения действуют на каждый из слоев: на слой 2 (скорость его больше) действующая сила направ-лена противоположно движению слоя, а на слой 1 – в направлении движения. Действие этих сил способствует выравниванию скоростей движения слоев, т.е. препятствует движению потока газа или жидкости в целом. Величина силы внутреннего трения F, возникающая между двумя смежными слоями, пропорциональна площади ΔS их соприкосновения и градиенту скорости в направлении, перпендикулярном вектору скорости: , где η;– коэффициент внутреннего трения или динамическая вязкость. Коэффициент вязкости η; – величина, равная силе внутреннего трения, приложенной к каждой единице поверхности соприкосновения двух слоев, движущихся друг относительно друга с градиентом скорости, равным единице. В СИ коэффициент вязкости η; измеряется в Па·с. Возникновение внутреннего трения в газах или жидкостях обусловлено несколькими различными причинами. В газах, где среднее расстояние между молекулами в тысячи раз превышает размеры молекул, силы взаимодействия между молекулами настолько малы, что движение молекул от столкновения до столкновения происходит по прямой. Возникновение силы внутреннего трения в газах обусловлено только взаимным проникновением молекул из одного слоя в другой. В изображенном на рис.1 случае, молекулы, проникшие из более быстрого слоя 2 в слой 1, передают некоторый импульс молекулам этого слоя. Это равносильно действию на слой 1 некоторой силы в направлении его движения. В свою очередь молекулы, проникшие из более медленного слоя 1 в слой 2, получают некоторый импульс, что приводит к торможению слоя 2, а это равносильно действию силы F в направлении, противоположном движению. Поскольку количество молекул, проникающих из слоя 1 в слой 2 и наоборот, в среднем одинаково, а переносимый ими импульс разный (скорости слоев разные), в явлении внутреннего трения в газах происходит направленный перенос импульса молекул в направлении от более быстрого слоя к более медленному (от слоя 2 к слою 1). Поэтому явление внутреннего трения наряду с диффузией и теплопроводностью относится к явлениям переноса. Следует помнить, что коэффициент вязкости дня газов возрастает с повышением температуры (η;~ ). Это объясняется тем, что с повышением температуры газа увеличивается скорость теплового движения молекул, что способствует более интенсивному обмену молекул между слоями и приводит к увеличению направленного переноса импульса молекул, т.е. к увеличению вязкости. В жидкостях, плотности которых в тысячи раз превышают плотность газа, среднее расстояние между молекулами сравнимо с их размерами. Поэтому силами взаимодействия между молекулами в жидкостях пренебрегать нельзя, и они сказываются при взаимном перемещении одних молекул относительно других. Кроме того, молекулы жидкости (в отличие от молекул газа) совершают колебательное движение относительно временных положений равновесия, меняя их через некоторые промежутки времени. Чем ниже температура жидкости, тем реже молекулы изменяют свои положения равновесия, и смещение одних молекул относительно других затруднено. Поэтому и вязкость жидкости при понижении температуры возрастает. Таким образом, вязкость в жидкостях обусловлена взаимодействием молекул и особым характером их теплового движения.
|